zoukankan      html  css  js  c++  java
  • Dapper的使用

    转载:

    首先使用NuGet包管理器搜索dapper安装到你所要使用的项目中

    直接上代码,有写过dbhelper的看这个应该比较简单 

    数据库代码:无注释这些是创建数据库最基础的

    use master
    go
    create database DapperTest
    go
    use DapperTest
    go
    create table UserInfo(
         Id int primary key identity(1,1),
         LoginName nvarchar(20)  null,
         LoginPWD nvarchar(20) null,
         URealName nvarchar(20) null,
         uStatus [int] NOT NULL,
         uRemark [nvarchar](max) NULL,
        uCreateTime [datetime] NOT NULL,
    )
    insert into UserInfo values('admin','admin','admin',1,'admin的一天生活',2020-1-1)
    insert into UserInfo values('a','a','a',1,'admin的言论',2020-1-1)
    go
    update  UserInfo set uStatus=0 where Id=1
    go
    select * from UserInfo

    Vs中的代码:

    数据模型数据表对应的实体对象。

     public class UserInfo
        {
            /// <summary>
            /// 主键
            /// </summary>
            public int Id { get; set; }
            /// <summary>
            /// 用户名
            /// </summary>
            public string LoginName { get; set; }
            /// <summary>
            /// 密码
            /// </summary>
            public string LoginPWD  { get; set; }
            /// <summary>
            /// 真实名字
            /// </summary>
            public string URealName { get; set; }
            /// <summary>
            /// 状态,0表示正常,1表示删除
            /// </summary>
            public int uStatus { get; set; }
            /// <summary>
            /// 评论
            /// </summary>
            public string uRemark { get; set; }
            /// <summary>
            /// 创建时间
            /// </summary>
            public DateTime uCreateTime { get; set; }
        }
    

     写对应的增删改查

    public class DapperHelper
        {
            //第一种写法
            private readonly string sqlconnection = "Data Source=.;Initial Catalog=DapperTest;User Id=sa;Password=sa;";
            //第二种写法
            private readonly string sqlcon = "server=.;database=DapperTest;uid=sa;pwd=sa;";
            //第三种写法在App.config中写入
    
            //获取Sql Server的连接数据库对象。SqlConnection
            public SqlConnection sqlCon()
            {
                SqlConnection sql = new SqlConnection(sqlconnection);
                sql.Open();
                return sql;
            }
            /// <summary>
            /// 添加单条数据
            /// </summary>
            /// <param name="user"></param>
            /// <returns></returns>
            public  int InsertUserInser(UserInfo user)
            {
                using (var db=sqlCon())
                {
                    string query = "insert into UserInfo values(@LoginName,@LoginPWD,@URealName,@uStatus,@uRemark,@uCreateTime)";
                    return db.Execute(query, user);
                }
            }
            /// <summary>
            /// 添加多条数据
            /// </summary>
            /// <param name="ulist"></param>
            /// <returns></returns>
            public int MultInsertUser(List<UserInfo> ulist)
            {
                using (var db = new SqlConnection(sqlconnection))
                {
                    string query = "insert into UserInfo values(@LoginName,@LoginPWD,@URealName,@uStatus,@uRemark,@uCreateTime)";
                    return db.Execute(query, ulist);
                }
            }
            /// <summary>
            /// 删除  真删除 可以增加一个伪删除
            /// </summary>
            /// <param name="Uid"></param>
            /// <returns></returns>
            public int UserDelete(int Uid)
            {
                using (var db = new SqlConnection(sqlcon))
                {
                    string query = "delete  UserInfo where Id=@Uid";
                    var param = new DynamicParameters();
                    param.Add("Uid", Uid);
                    return db.Execute(query, param);
    
                }
            }
            public int MultDeleteUser(List<UserInfo> ulist)
            {
                using (var db = new SqlConnection(sqlconnection))
                {
                    string query = "delete  UserInfo where Id=@Id";
                    return db.Execute(query, ulist);
                }
            }
            /// <summary>
            /// 修改
            /// </summary>
            /// <param name="user"></param>
            /// <returns></returns>
            public int UserUpdate(UserInfo user)//int Id
            {
                //@LoginName,@LoginPWD,@URealName,@uStatus,@uRemark,@uCreateTime
                using (var db = new SqlConnection(sqlconnection))
                {
                    //string query = $"update UserInfo set LoginName=@LoginName,LoginPWD=@LoginPWD,URealName=@URealName,uStatus=@uStatus,uRemark=@uRemark,uCreateTime=@uCreateTime, where Id={Id}";
                    string query = $"update UserInfo set LoginName=@LoginName,LoginPWD=@LoginPWD,URealName=@URealName,uStatus=@uStatus,uRemark=@uRemark,uCreateTime=@uCreateTime  where Id=@Id";
                    return db.Execute(query, user);
                }
            }
            public List<UserInfo> GetAll()
            {
                using (var db = new SqlConnection(sqlconnection))
                {
                    string query = "select * from UserInfo";
                    return db.Query<UserInfo>(query).ToList();
    
                }
            }
            /// <summary>
            /// 查询指定的数据
            /// </summary>
            /// <param name="uids">查询条件</param>
            /// <returns></returns>
            public List<UserInfo> GetAllIn2(int Id)
            {
                using (var db = new SqlConnection(sqlconnection))
                {
                    string query = $"select * from UserInfo where Id={Id}";
                    return db.Query<UserInfo>(query).ToList();
                }
            }

    在main中调用测试的方法,和数据库里面的数据同步

    class Program
        {
            public static DapperHelper db = new DapperHelper();
           
            static void Main(string[] args)
            {
                //DapperHelper db = new DapperHelper();
                //var data=db.InsertUserInser(new UserInfo()
                //{
                //    LoginName = "admin123",
                //    LoginPWD = "admin123",
                //    URealName = "张三",
                //    uStatus = 0,
                //    uRemark = "admin123发表的言论",
                //    //时间格式转换
                //    //uCreateTime = DateTime.Parse("2020-07-25")
                //    uCreateTime=DateTime.Now
                //});
                //已下两种都是可以修改成功的
                //int Id = int.Parse(Console.ReadLine());
                //var data = db.UserUpdate(new UserInfo()
                //{
                //    LoginName = "admin123",
                //    LoginPWD = "admin123",
                //    URealName = "张三2",
                //    uStatus = 0,
                //    uRemark = "admin123发表的言论",
                //    //时间格式转换
                //    //uCreateTime = DateTime.Parse("2020-07-25")
                //    uCreateTime = DateTime.Now,
                //    Id=Id
                //}, Id);
                //int Id = int.Parse(Console.ReadLine());
                //var data = db.UserUpdate(new UserInfo()
                //{
                //    LoginName = "admin123",
                //    LoginPWD = "admin123",
                //    URealName = "张三2",
                //    uStatus = 0,
                //    uRemark = "admin123发表的言论",
                //    //时间格式转换
                //    //uCreateTime = DateTime.Parse("2020-07-25")
                //    uCreateTime = DateTime.Now,
                //    Id = Id
                //});
                //if (data > 0)
                //{
                //    Console.WriteLine("修改成功");
                //}
                //查看
                //var data2 = db.GetAll();
                //foreach (var item in data2)
                //{
                //    Console.WriteLine("用户名:"+item.URealName+"    "+"账号:"+item.LoginName);
                //}
                //while (true)
                //{
                //    int Id = int.Parse(Console.ReadLine());
                //    var data3 = db.GetAllIn2(Id);
                //    foreach (var item in data3)
                //    {
                //        Console.WriteLine("用户名:" + item.URealName + "    " + "账号:" + item.LoginName);
                //    }
    
                //    
                //}
                //删除
                int Id = int.Parse(Console.ReadLine());
                var data4 = db.UserDelete(Id);
                if (data4 > 0)
                {
                    Console.WriteLine("删除成功");
                }
            }
        }
  • 相关阅读:
    (转)Entity Framework 4.1 之三(由4.0过渡到4.1/4.3)
    (转)修改的T4代码生成器(续)
    (转)【Smart Code Generator】 基于T4的代码生成器
    linux下播放mp3
    poj 2777 Count Color
    poj 1062 昂贵的聘礼
    uva 991 Safe Salutations
    uva 10587 Mayor's posters
    poj 2528 Mayor's posters
    逆序数
  • 原文地址:https://www.cnblogs.com/xunmengrenli/p/13403304.html
Copyright © 2011-2022 走看看