zoukankan      html  css  js  c++  java
  • dapper

    查询数据库是否存在数据
    select isnull((select top(1) 1 from Menu where ParentId=@ParentId and Deleted='false'),0)

    select count(1) from Sys_Admin where 1=1 

    publicList<MSys_Admin>GetAdminList(MSys_Admin model)  
    {  
        string sqlText ="select count(1) from Sys_Admin where 1=1";  
        var p =newDynamicParameters();  
        if(!string.IsNullOrEmpty(model.LoginName))  
            {  
                sqlText +=" and LoginName like @LoginName";  
                p.Add("LoginName", model.LoginName+"%");  
            }  
        if(!string.IsNullOrEmpty(model.Name))  
            {  
                sqlText +=" and Name like @Name";  
                p.Add("Name","%"+ model.Name+"%");  
            }  
        using(var conn =Common.GetConn())  
        {  
            conn.Open();  
            var r = conn.Query<MSys_Admin>(sqlText, p);  
            conn.Close();  
            return r.ToList();  
         }  
    }      

     工具类

      1 /// <summary>
      2         /// 查询操作
      3         /// </summary>
      4         /// <typeparam name="T">返回集合的类型</typeparam>
      5         /// <param name="sql">sql语句</param>
      6         /// <param name="param">参数化值</param>
      7         /// <returns></returns>
      8         public IEnumerable<T> Query<T>(string sql, object param)
      9         {
     10             IEnumerable<T> _list = default(IEnumerable<T>);
     11             if (!string.IsNullOrEmpty(sql))
     12             {
     13                 try
     14                 {
     15                     _list = DbConnection.Query<T>(sql, param);
     16                 }
     17                 catch { }
     18             }
     19             return _list;
     20         }
     21 
     22         /// <summary>
     23         /// 执行存储过程查询操作
     24         /// </summary>
     25         /// <typeparam name="T">返回集合的类型</typeparam>
     26         /// <param name="storedName">存储过程</param>
     27         /// <param name="param">参数化值</param>
     28         /// <returns></returns>
     29         public IEnumerable<T> QueryStored<T>(string storedName, object param)
     30         {
     31             IEnumerable<T> _list = default(IEnumerable<T>);
     32             if (!string.IsNullOrEmpty(storedName))
     33             {
     34                 try
     35                 {
     36                     _list = DbConnection.Query<T>(storedName,commandType: CommandType.StoredProcedure);
     37                 }
     38                 catch { }
     39             }
     40             return _list;
     41         }
     42 
     43         /// <summary>
     44         /// 查询操作返回默认第一条数据(如返回null则创建默认类型)
     45         /// </summary>
     46         /// <typeparam name="T"></typeparam>
     47         /// <param name="sql"></param>
     48         /// <param name="param"></param>
     49         /// <returns></returns>
     50         public T FirstOrDefault<T>(string sql, object param)
     51         {
     52             var model = default(T);
     53             if (!string.IsNullOrEmpty(sql))
     54             {
     55                 try
     56                 {
     57                     model = DbConnection.Query<T>(sql, param).FirstOrDefault();
     58                 }
     59                 catch { }
     60             }
     61             return model == null ? Activator.CreateInstance<T>() : model;
     62         }
     63 
     64 
     65 
     66         /// <summary>
     67         /// 查询一组SQL语句并返回值
     68         /// </summary>
     69         /// <typeparam name="T1">第一条语句返回集合类型</typeparam>
     70         /// <typeparam name="T2">第二条语句返回集合类型</typeparam>
     71         /// <param name="sql">sql语句</param>
     72         /// <param name="param">参数化值</param>
     73         /// <returns></returns>
     74         public Tuple<IEnumerable<T1>, IEnumerable<T2>> Query<T1, T2>(string sql, object param)
     75         {
     76             IEnumerable<T1> _item1 = null; IEnumerable<T2> _item2 = null;
     77             if (!string.IsNullOrEmpty(sql))
     78             {
     79                 try
     80                 {
     81                     using (var multi = DbConnection.QueryMultiple(sql, param))
     82                     {
     83                         _item1 = multi.Read<T1>();
     84                         _item2 = multi.Read<T2>();
     85                     }
     86                 }
     87                 catch { }
     88             }
     89             return Tuple.Create<IEnumerable<T1>, IEnumerable<T2>>(_item1, _item2);
     90         }
     91 
     92         /// <summary>
     93         /// 查询一组SQL语句并返回值
     94         /// </summary>
     95         /// <typeparam name="T1">第一条语句返回集合类型</typeparam>
     96         /// <typeparam name="T2">第二条语句返回集合类型</typeparam>
     97         /// <typeparam name="T3">第三条语句返回集合类型</typeparam>
     98         /// <param name="sql">sql语句</param>
     99         /// <param name="param">参数化值</param>
    100         /// <returns></returns>
    101         public Tuple<IEnumerable<T1>, IEnumerable<T2>, IEnumerable<T3>> Query<T1, T2, T3>(string sql, object param)
    102         {
    103             IEnumerable<T1> _item1 = null; IEnumerable<T2> _item2 = null; IEnumerable<T3> _item3 = null;
    104             if (!string.IsNullOrEmpty(sql))
    105             {
    106                 try
    107                 {
    108                     using (var multi = DbConnection.QueryMultiple(sql, param))
    109                     {
    110                         _item1 = multi.Read<T1>();
    111                         _item2 = multi.Read<T2>();
    112                         _item3 = multi.Read<T3>();
    113                     }
    114                 }
    115                 catch { }
    116             }
    117             return Tuple.Create<IEnumerable<T1>, IEnumerable<T2>, IEnumerable<T3>>(_item1, _item2, _item3);
    118         }
    119 
    120 
    121 
    122         public void Dispose()
    123         {
    124             if (dbConnection != null)
    125             {
    126                 try
    127                 {
    128                     bool isClosed = dbConnection.State == ConnectionState.Closed;
    129                     if (!isClosed) dbConnection.Close();
    130                     //dbConnection.Dispose();
    131                 }
    132                 catch { }
    133             }
    134         }
    135     }
    /// <summary>
    /// 批量插入数据
    /// </summary>
    /// <param name="persons"></param>
    /// <returns>影响行数</returns>
    public static int Insert(List<User> users)
    {
      using (IDbConnection connection = new SqlConnection(connectionString))
      {  
          connection.Execute("insert into User(ID,Name) values(@ID,@Name)", users);
      }
    }

     查询的In操作:

    public static List<User> QueryIn(List<Id> Ids)
    {
      using (IDbConnection connection = new SqlConnection(connectionString))
      {
        var sql = "select * from Person where id in @ids";
        //参数类型是Array的时候,dappper会自动将其转化
        return connection.Query<Person>(sql, new { ids = Ids, }).ToList();
      }
    }
  • 相关阅读:
    ASP.NET 安全认证(二)——灵活运用 Form 表单认证中的 deny 与 allow 及保护 .htm 等文件(转)
    对ASP.NET MVC项目中的视图做单元测试
    java多线程编程——线程同步之同步代码块
    php 删除目录以及目录下的所有文件
    webuploader 一个页面多个上传按钮 实现【亲测可用】
    设计模式单例模式
    html meta手机端常用参数
    java多线程编程——线程同步之同步函数
    MySQL 如何按照指定字符串进行排序
    工厂模式
  • 原文地址:https://www.cnblogs.com/william-CuiCui0705/p/8073583.html
Copyright © 2011-2022 走看看