DotNetCore跨平台~Dapper的使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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

感谢阅读!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:DotNetCore跨平台~Dapper的使用,如需转载请自行联系原博主。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
定位技术 API C#
.NET开源、功能强大、跨平台的图表库
.NET开源、功能强大、跨平台的图表库
|
1月前
|
开发框架 JavaScript 前端开发
分享7个.NET开源、功能强大的快速开发框架
分享7个.NET开源、功能强大的快速开发框架
|
2月前
|
开发框架 NoSQL Go
GoFrame v2.5 版本发布,企业级 Golang 开发框架
GoFrame v2.5 版本发布,企业级 Golang 开发框架
|
开发框架 Java .NET
Mono 现状与未来: 从 Xamarin 到 WebAssembly、Blazor 及.NET 5
  本文要点:   Mono 项目始于 2001 年,是首个面向.NET 应用程序的多平台、开源框架的项目。Xamarin 和 Blazor 分别代表了微软在移动和 Web 应用程序方面的努力,它们都是基于 Mono 并由 Mono 提供支持的。.NET 5 为用户提供了两种运行时选项:高性能的 CoreCLR(用于服务器和桌面应用程序)和轻量级的 Mono(用于移动设备和 WebAssembly)。尽管 Mono 已经是.NET 的一部分了,但仍有一些开发工作要致力于改善 Mono 的运行时性能和垃圾回收器。现在.NET Core 可以与 Mono 并行安装了,因此可以一起演进语言和运行时
820 0
|
设计模式 数据可视化 JavaScript
dlvm-netcore 开源框架
DLVM 是一个集数据库、逻辑、视图及模型为一体的并涵盖了常用基础套件,以 NetCore 为主的底层框架。具备安全性、可扩展性、可配置性及可视化操作等优点,并且具有一键创建模块的功能。
150 0
dlvm-netcore 开源框架
|
开发框架 数据可视化 JavaScript
DM 平台 /netcore 开源框架
DLVM 是一个集数据库、逻辑、视图及模型为一体的并涵盖了常用基础套件,以 NetCore 为主的底层框架。具备安全性、可扩展性、可配置性及可视化操作等优点,并且具有一键创建模块的功能。
255 0
DM 平台 /netcore 开源框架
|
关系型数据库 数据库
|
NoSQL 微服务 消息中间件