.net core Dapper for MySql
Dapper 语法比较简单,效率也比较快,速度接近IDataReader 甚至读取数据超过了DataTable,建议在实际项目可以结合EntityFramework Core 一起使用。
一、创建MySql Table
CREATE TABLE User (
Id int(11) NOT NULL AUTO_INCREMENT,
Name varchar(255) DEFAULT NULL,
PRIMARY KEY (Id)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
二、创建Model
public class Users
{
public int Id { get; set; }
public string Name { get; set; }
}
三、Dapper Helper
public class DapperContext
{
//连接字符串
const string connectionString = "Server=localhost;port=3306;Database=testDB;Uid=root;Pwd=123abc;SslMode=None;";
public static MySqlConnection Connection(){ var mysql=new MySqlConnection(connectionString);
mysql.Open();
return mysql; }
}
四、WEBAPI
[Route("api/[controller]")]
public class UserController : Controller
{
/// <summary>
/// 获取所有用户数据
/// </summary>
[HttpGet]
public List<Users> GetUsers(GetUserInput input){
//分页数据
List<Users> users = new List<Users>();
using(IDbConnection connection=DapperContext.Connection()){
users = connection.Query<Users>("select * from user limit @PageIndex,@PageSize",new {
PageIndex=input.PageIndex*input.PageSize,
PageSize=input.PageSize
}).ToList();
}
return users;
}
/// <summary>
/// 根据用户ID 查询
/// </summary>
[HttpGet("{id}")]
public Users Get(int id)
{
using(IDbConnection connection=DapperContext.Connection()){
return connection.Query<Users>("select * from user where id=@Id",new {@Id=id}).FirstOrDefault();
}
}
/// <summary>
/// 插入数据
/// </summary>
[HttpPost]
public void Post([FromBody]Users value)
{
using(IDbConnection connection=DapperContext.Connection()){
connection.Execute("insert into user values(@Id,@Name)", new { value.Id,value.Name });
}
}
/// <summary>
/// 修改数据
/// </summary>
[HttpPut("{id}")]
public void Put(int id, [FromBody]string value)
{
using(IDbConnection connection=DapperContext.Connection()){
connection.Execute("update user set name=@Name where id=@Id", new { Id = id, Name = value });
}
}
/// <summary>
/// 删除数据
/// </summary>
[HttpDelete("{id}")]
public void Delete(int id)
{
using(IDbConnection connection=DapperContext.Connection()){
connection.Execute("delete from user where id=@Id", new { Id = id });
}
}
}
只是简单的使用Dapper,如需更多了解建议查看官方文档。
.net core Dapper for MySql的更多相关文章
- .NET Core Dapper操作mysql数据库
前言 现在ORM盛行,市面上已经出现了N款不同的ORM套餐了.今天,我们不谈EF,也不聊神马黑马,就说说 Dapper.如何在.NET Core中使用Dapper操作Mysql数据库呢,让我们跟随镜头 ...
- ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)
操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...
- .NET Core 使用Dapper 操作MySQL
MySQL官方驱动:http://www.cnblogs.com/linezero/p/5806814.html .NET Core 使用Dapper 操作MySQL 数据库, .NET Core 使 ...
- Net Core中数据库事务隔离详解——以Dapper和Mysql为例
Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...
- .net core 2.0+superui +Dapper.SimpleCRUD+mysql+NLog
**_ .net core 2.0+superui +Dapper.SimpleCRUD+mysql+NLog _** 前端框架 superui http://www.supermgr.cn/ 1.组 ...
- .NET Core开发日志——Dapper与MySQL
Dapper作为.NET生态中广为人知的轻量级ORM类库在.NET Core里仍能被有效利用,并且其不但可以连通SQL Server数据库还提供对其它数据库,比如MySQL的支持.这里试验了一下通过D ...
- .net core系列之《.net core中使用MySql以及Dapper》
当我们决定使用.Net Core开发的时候,就放弃使用SqlServer的打算吧.那应该选择哪个数据库呢?一般选择MySql的比较多. 接下来我们来演示在.Net Core中使用MySQL吧. 1.原 ...
- 使用Dapper操作Mysql数据库
首先我想说明一下:相比最原始的ADO.NET,一般都认为封装过一层的ORM性能上会有损耗,但其实在使用中你会发现,当你需要把数据库对象转化为实体模型时,很多所谓的DbHelper其实封装的很低效,反而 ...
- 在C#的控制台应用中使用Dapper链接MySQL并执行一些增删改查
一.首先先创建一个C#的控制台应用 二.然后添加上必要的命名空间 using System;using System.Collections.Generic;using MySql.Data.MySq ...
随机推荐
- 解决Echarts封装成组件时只有最后一个才会缩放的问题
参考了此文,并且强烈建议去看http://blog.csdn.net/crper/article/details/76091755 一般网上的方法都是 mounted() { this.drawCha ...
- Centos7常用操作
1.装完系统无法用scrt连接服务器 查看IP命令 ip addr [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 ...
- Scrapy基础(六)————Scrapy爬取伯乐在线一通过css和xpath解析文章字段
上次我们介绍了scrapy的安装和加入debug的main文件,这次重要介绍创建的爬虫的基本爬取有用信息 通过命令(这篇博文)创建了jobbole这个爬虫,并且生成了jobbole.py这个文件,又写 ...
- 最近在学习python,做了一道人机大战的题目,分享一下,虽然可能有些麻烦,但是每个人思维是不同的。
#题目如下:1:人和机器进行猜拳游戏写成一个类,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一个1-3的数字 : 1 import random c ...
- CSS设置文字不能被选中
/*设置文字不能被选中 以下为css样式*/ -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; us ...
- 暗之的锁链 [COGS2434] [树上差分]
Description 无向图中有N个节点和两类边,一类边被称为主要边,而另一类被称为附加边.Dark有N – 1条主要边,并且Dark的任意两个节点之间都存在一条只由主要边构成的路径.另外,Dark ...
- Ruby零碎笔记
Ruby零碎笔记 飞机上阅读pdf的笔记,因为不联网,内容不多而且比较零散,以tips的形式记录 tips 查看当前作用域的变量 puts local_variables ruby中方法传递参数时,括 ...
- Android requestcode resultcode的作用
requestcode 一个页面的不同事件,激发不同的函数,startActivityForResult中传入不同的请求码的值以调用下一个界面,在被调用界面结束返回第一个界面时,请求码会自动返回(自动 ...
- Django中提供的6种缓存方式
由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用: 缓存,缓存将一个某个views的返回值保存至内存或者memcache中, ...
- Install latest git on CentOS 6/7
Assuming you have sudo/root permission. Try rpmforge-extras first. yum --disablerepo=base,updates -- ...