回到目录

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的使用的更多相关文章

  1. DotNetCore跨平台~文章索引~永久更新

    本索引目录主要包括仓储大叔对dotnet core架构的研究与知识积累,从2016年开始进行撰写,到今天已经有一年多了,其中有一些小知识,小技巧,小应用,希望给大家在开发时一些启发,也希望dotnet ...

  2. DotNetCore跨平台~Quartz定时单次任务

    之前写过一篇文件<DotNetCore跨平台~Quartz热部署的福音-监控文件夹的变化>,今天主要把框架优化了一下,支持外部触发,并支持外部将参数以JobDataMap形式进行输入,然后 ...

  3. DotNetCore跨平台~聊聊中间件

    回到目录 在进行.net core平台之后,我们如果希望在请求过程中添加一些事件是非常容易的,你可以把这些事件做成一个中间件Middleware,然后这些中间件就会以Http pipeline的管道方 ...

  4. [转帖]DotNetCore跨平台~System.DrawingCore部署Linux需要注意的

    DotNetCore跨平台~System.DrawingCore部署Linux需要注意的   https://www.bbsmax.com/A/QV5ZemYVJy/?tdsourcetag=s_pc ...

  5. DotNetCore跨平台~Startup类的介绍

    新宠儿 DotNetCore是.net5.0版本,之所以不叫.net5.0为的就是不让我们把它与前面的.net混为一淡,它将是真正意义的跨平台开发语言,在网上也有相关介绍,中国的一些大牛也发了相关文章 ...

  6. DotNetCore跨平台~功能测试TestHost的使用

    回到目录 之前写了关于自动化测试的相关文章,包括gitlab,unittest,jenkins pipeline等,基于都是功能点的测试,当我们的框架或者业务修改之后,需要走一篇自动化测试,以此来保证 ...

  7. DotNetCore跨平台~性能测试~可以放心使用了

    使用dotnetCore发布站点后,它的处理请求能力不逊色IIS等大型服务的能力,号称每秒能处理115万个请求,太牛X了也. 先看看它支持的数据库 以下主流数据库都是为支持的 Microsoft SQ ...

  8. DotNetCore跨平台~发布脚本PowerShell的设计

    回到目录 这几天对PS情有独忠,被它的强大功能所希引,它可以快速部署,快速发布,将一些连带的动作一次的完成,挺方便,类似于早期的bat文件,也像linux平台的bash脚本,但功能上,比前两者都要强很 ...

  9. DotNetCore跨平台~Quartz热部署的福音~监控文件夹的变化

    在DotNetCore出来之后,同时也使用了quartz进行调度中心的设计,将它做到docker里方便部署,在之前的quartz版本里支持配置文件的方式,而现在不支持了,我们应该去想一下,为什么不去支 ...

随机推荐

  1. [Python接口自动化]从零开始学习python自动化(1):环境搭建

    第一步:安装python编译环境 安装python编译环境之前,必须保证已安装jdk哈,如果为安装,请参考https://jingyan.baidu.com/article/6dad5075d1dc4 ...

  2. BZOJ_1146_[CTSC2008]网络管理Network_主席树+树状数组

    BZOJ_1146_[CTSC2008]网络管理Network_主席树 Description M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个 部门 ...

  3. maven+springmvc的配置

    1. 首先创建1个mavenweb项目  如果没有的话最好是去官网下载一个最新版本的eclipse  里面什么都有 maven/gradle 啥的 2. 选择路径   没啥影响 就是一个路径 默认就行 ...

  4. Python 视频转字符画 - 进阶

    这篇文章是 视频转字符动画-Python-60行代码 的后续,如果感兴趣,请先看看它. 1. 速度优化 要是每次播放都要等个一分钟,也太痛苦了一点. 所以可以用 pickle 模块把 video_ch ...

  5. python 之 初识模块

    什么是模块 什么是模块 一个.py文件 就是一个模块 我们使用import加载的模块分为4个通用类别 1.py文件 2.包好一组模块的包(带__init__.py文件的文件夹) 3.内置模块 4.已被 ...

  6. a标签跳转之前加点击事件

    ①在html标签中出现提示 <a href="http://www.baidu.com" onclick="if(confirm('确认百度吗?')==false) ...

  7. MIP 与 AMP 合作进展(3月7日)

    "到目前为止,全网通过 MIP 校验的网页已超10亿.除了代码和缓存, MIP 还想做更多来改善用户体验移动页面." 3月7日,MIP 项目负责人在首次 AMP CONF 上发言. ...

  8. 从壹开始 [vueAdmin后台] 之三 || 动态路由配置 & 项目快速开发

    回顾 今天VS 2019正式发布,实验一波,你安装了么?Blog.Core 预计今天会升级到 Core 3.0 版本. 哈喽大家周三好!本来今天呢要写 Id4 了,但是写到了一半,突然有人问到了关于 ...

  9. 目标检测 anchor 理解笔记

    anchor在计算机视觉中有锚点或锚框,目标检测中常出现的anchor box是锚框,表示固定的参考框. 目标检测的任务: 在哪里有东西 难点: 目标的类别不确定.数量不确定.位置不确定.尺度不确定 ...

  10. matplotlib读取csv文件

    一,从本地加载csv文件 from matplotlib import pyplot as pltimport numpy as npimport csv#用来正常显示中文标签plt.rcParams ...