文章出處

回到目錄

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的同學!

感謝閱讀!

回到目錄


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()