zoukankan      html  css  js  c++  java
  • 三层 增删改查 分页 泛型基类

      1    /// <summary>
      2     /// DAL基类
      3     /// </summary>
      4     /// <typeparam name="T"></typeparam>
      5     public abstract class BaseDAL<T> where T : class, new()
      6     {
      7         /// <summary>
      8         /// 获取单一模型
      9         /// </summary>
     10         /// <param name="t">模型对象</param>
     11         /// <returns></returns>
     12         public T GetModel(T t)
     13         {
     14             string sql = GetSQLstr(t, "model");
     15             SqlParameter[] sp = GetSqlParameter(t);
     16             DataTable dt = SQLHelperNew.ExecuteDataTable(sql, sp);
     17             if (dt.Rows.Count > 0)
     18             {
     19                 return DataTableToModel(dt.Rows[0]);
     20             }
     21             else
     22             {
     23                 return new T();
     24             }
     25 
     26         }
     27         /// <summary>
     28         /// 获取模型集合
     29         /// </summary>
     30         /// <param name="pageindex">当前页</param>
     31         /// <param name="pageSize">每页条数</param>
     32         /// <param name="orderStr">排序字符</param>
     33         /// <returns></returns>
     34         public List<T> GetModelList(T t, int pageindex, int pageSize, string orderStr)
     35         {
     36             string sql = GetSQLstrList(t, pageindex, pageSize, orderStr);
     37             SqlParameter[] sp = GetSqlParameter(t);
     38             DataTable dt = SQLHelperNew.ExecuteDataTable(sql, sp);
     39             if (dt.Rows.Count > 0)
     40             {
     41                 return DataTableToModelList(dt);
     42             }
     43             else
     44             {
     45                 return new List<T>();
     46             }
     47 
     48         }
     49 
     50         /// <summary>
     51         /// 添加模型
     52         /// </summary>
     53         /// <param name="t">模型对象</param>
     54         /// <returns></returns>
     55         public int AddModel(T t)
     56         {
     57             string sql = GetSQLstr(t, "add");
     58             SqlParameter[] sp = GetSqlParameter(t);
     59             return SQLHelperNew.ExecuteNonQuery(sql, sp);
     60         }
     61         /// <summary>
     62         /// 删除模型
     63         /// </summary>
     64         /// <param name="t">模型对象</param>
     65         /// <returns></returns>
     66         public int DeleteModel(T t)
     67         {
     68             string sql = GetSQLstr(t, "delete");
     69             SqlParameter[] sp = GetSqlParameter(t);
     70             return SQLHelperNew.ExecuteNonQuery(sql, sp);
     71         }
     72         /// <summary>
     73         /// 修改模型
     74         /// </summary>
     75         /// <param name="t">模型对象</param>
     76         /// <returns></returns>
     77         public int EditModel(T t)
     78         {
     79             string sql = GetSQLstr(t, "edit");
     80             SqlParameter[] sp = GetSqlParameter(t);
     81             return SQLHelperNew.ExecuteNonQuery(sql, sp);
     82         }
     83         /// <summary>
     84         /// 获取最大条数
     85         /// </summary>
     86         /// <param name="t">模型对象</param>
     87         /// <returns></returns>
     88         public int GetModelMaxCount(T t)
     89         {
     90             string sql = GetSQLstr(t, "max");
     91             SqlParameter[] sp = GetSqlParameter(t);
     92             return (int)SQLHelperNew.ExecuteScalar(sql, sp);
     93         }
     94 
     95         /// <summary>
     96         /// 根据数据表返回模型集合
     97         /// </summary>
     98         /// <param name="dt"></param>
     99         /// <returns></returns>
    100         public abstract List<T> DataTableToModelList(DataTable dt);
    101         /// <summary>
    102         /// 根据数据表返回模型
    103         /// </summary>
    104         /// <param name="dt"></param>
    105         /// <returns></returns>
    106         public abstract T DataTableToModel(DataRow dt);
    107         /// <summary>
    108         /// 返回SQL语句
    109         /// </summary>
    110         /// <returns></returns>
    111         public abstract string GetSQLstr(T t, string type);
    112         /// <summary>
    113         /// 返回SQL语句参数
    114         /// </summary>
    115         /// <param name="t">模型</param>
    116         /// <returns></returns>
    117         public abstract SqlParameter[] GetSqlParameter(T t);
    118 
    119         /// <summary>
    120         /// 返回SQL语句
    121         /// </summary>
    122         /// <param name="sql">SQL语句</param>
    123         /// <param name="t">模型</param>
    124         /// <returns></returns>
    125         protected abstract string CreateSQL(string sql, T t, string type);
    126 
    127         /// <summary>
    128         /// 获取 分页SQL字符串
    129         /// </summary>
    130         /// <param name="t">模型</param>
    131         /// <param name="pageindex">起始项</param>
    132         /// <param name="pageSize">每页条数</param>
    133         /// <param name="orderStr">排序字符</param>
    134         /// <returns></returns>
    135         public abstract string GetSQLstrList(T t, int pageindex, int pageSize, string orderStr);
    136     }
    137 }
  • 相关阅读:
    python操作excel表格
    重学Java
    重学Java
    重学Java
    重学Java
    重学Java
    博客园自定义主题及目录组件
    重学Java
    修改 Eclipse 背景颜色的高级方法
    dbf转excel
  • 原文地址:https://www.cnblogs.com/demoC/p/5121287.html
Copyright © 2011-2022 走看看