DotNetCore跨平台~Dapper的使用

回到目录

Dapper作为小型ORM的代表作品被我们应用到了dotnet core的项目中,下面将把自己在项目中使用dapper进行curd操作的过程写一下,后期可能会遇到一些问题,大叔也会在这个系列之中进行完善,希望对各位学生有所帮助!

一 安装nuget的dapper包包

二 在startup中注册dapper仓储,并现时注册数据库类型和数据库连接串,因为在mysql和sqlserver中,它们的连接串是不同的,模块化设计请看大叔这篇文章

DotNetCore跨平台~组件化时代来了

复制代码
     services.UseLog4Logger(o =>
            {
                o.Log4ConfigFileName = "log4.config";
                o.ProjectName = "test";
            }).UseDapper(o =>
            {
                o.ConnString = "Server=localhost;DataBase=test2;UID=root;Password=root;charset=utf8;port=3306;SslMode=None";
                o.DbType = DbType.MySql;
            }).UseDefaultMQ();
复制代码

三 进行我们的增删改查的操作,主要把测试中的代码用例复制出来,供大家参考

复制代码
           //建立链接
            var conn = new MySql.Data.MySqlClient.MySqlConnection(config_config);

            //简单select
            var dt = conn.Query<userinfo>("select * from userinfo where UserName=@username", new
            {
                username = "花样百出@sina.com"
            });

            var dt1 = conn.Query<userinfo>("select * from userinfo where UserName=@username", new
            {
                username = "花样百出@sina.com"
            }).Select(o => new
            {
                name = o.UserName
            });

            //inner join & left join
            var dt2 = conn.Query<userinfo, userlogs, userlogDTO>(
                "select *  from userinfo a " +
                "INNER JOIN  userlogs b on a.Id=b.UserId " +
                "where a.userName=@username", (user, logs) =>
                {
                    return new userlogDTO
                    {
                        Id = user.Id,
                        Name = user.UserName,
                        Content = logs.Content,
                        Time = user.AddTime,
                    };
                }, splitOn: "Id,UserId", param: new { username = "test" });

            //insert
            conn.Execute("insert into userinfo (username,addtime) values (@username,@addtime)", new { username = "zzltest", addtime = DateTime.Now });

            //update
            conn.Execute("update userinfo set username=@newname where username=@oldname", new { oldname = "zzltest", newname = "zzlmodify" });

            //delete
            conn.Execute("delete userinfo where username=@name", new { name = "test" });
复制代码

本篇文章比较基础,主要面向刚开始使用Dapper的同学!

感谢阅读!

回到目录

posted @   张占岭  阅读(4089)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示