zoukankan      html  css  js  c++  java
  • Dapper

    Dapper是一个轻量级ORM(Object Relationship Mapper)框架

    Dapper和EF相比,EF开发效率快,省略了很多sql写法,但是运行效率慢,有时要考虑运行速度时就要用更快的ORM框架,其中有一个常用的就是Dapper

    Dapper和EF一样支持多数据库

    安装Dapper

    install-package dapper

    连接语句

    使用dapper不需要考虑连接有没有打开,执行dapper是自行判断是否打开,如果没有打开自己会打开

    var con = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlCon"].ConnectionString)

    数据库操作无非即使CURD操作,接下来介绍下基础的CURD操作,在那之前先创建一个Users表

    Insert操作

    1.单条insert操作

    Users u = new Users() { UserName="XXX",Email="XXXXXXXX@qq.com",Address="XXXXXXX"};
    con.Execute(
    "insert into Users values(@UserName,@Email,@Address)", new { @name=u.UserName,u.Email,u.Address});//单条插入

    如果Users类中属性和数据库的列相对应,可以简写为

    Users u = new Users() { UserName="XXX",Email="XXXXXXXXXX@qq.com",Address="XXXXXXXXXXX"};
    con.Execute("insert into Users values(@UserName,@Email,@Address)", u);//单条插入

    2.批量insert操作

    其实批量插入就是把对象改成集合

    List<Users> userlist = new List<Users>() {
                    new Users(){UserName="XXX",Email="XXXXXXX@qq.com",Address="XXXXXXXX"},
                    new Users(){UserName="XXXXX",Email="XXXXXXXXXX@qq.com",Address="XXXXXXXXXX"}
                };
    con.Execute("insert into Users values(@UserName,@Email,@Address)",userlist); //批量插入

    Update操作

    修改其实就是改一下sql语句

    Users u = new Users() {UserID=1,UserName="XXXXX"};
    
    con.Execute("update Users set UserName=@UserName where UserID=@UserID",new { u.UserName,u.UserID});//修改

    Delete操作

    依然还是修改一下sql语句

    con.Execute("delete from Users where UserID=@UserID",new { @UserID=1}); //删除

    Select操作

    1.无参数查询

    var list  = con.Query<Users>("select * from Users").ToList();//无参数查询

    2.单条信息查询

    var user = con.Query<Users>("select * from Users where UserID = @UserID",new { @UserID=1}).SingleOrDefault(); //单条查询

    3.多条信息查询

    var Userlist = con.Query<Users>("select * from Users where UserName=@UserName",new { @UserName="XXXXXXX"}).ToList(); //多条查询

    4.SQL in(1,2,3)  多参数查询

     var lists = con.Query<Users>("select * from Users where UserID in @IdArr",new { @IdArr=new int[] { 1,2,3} }); //多参数查询
  • 相关阅读:
    微信二维码 场景二维码 用于推送事件,关注等 注册用户 ,经过测试
    简单的 Helper 封装 -- CookieHelper
    简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)
    Java反射机制
    Windows Azure Web Site (13) Azure Web Site备份
    Windows Azure Virtual Machine (1) IaaS用户手册
    Windows Azure Web Site (1) 用户手册
    Windows Azure Web Site (12) Azure Web Site配置文件
    Windows Azure Web Site (11) 使用源代码管理器管理Azure Web Site
    Windows Azure Web Site (10) Web Site测试环境
  • 原文地址:https://www.cnblogs.com/nicopoiduang/p/8992560.html
Copyright © 2011-2022 走看看