zoukankan      html  css  js  c++  java
  • .net Core+Dapper MySQL增删改查

    新建一个用户表,以该有为例

    1.Model层

     public class TuiUsers
        {
            public int id { get; set; }
            public string userName { get; set; }
            public string userPass { get; set; }
            public int userType { get; set; }
            public string company { get; set; }
            public string detail { get; set; }
    
            public DateTime create_time { get; set; }
            public DateTime edit_time { get; set; }
    
            public int pid { get; set; }
    
            public string alipayUrl { get; set; }
            public string taobaoUrl { get; set; }
            public string linkMan { get; set; }
    
            public string contactInfo { get; set; }
            public decimal priceRatio { get; set; }
            public int stateFlag { get; set; }
    
        }

    2.Dal层

    通用连接

       internal class ConnectionFactory
        {
    
            public static DbConnection GetOpenConnection(string connstr)
            {
                var connection = new MySql.Data.MySqlClient.MySqlConnection(connstr);
                connection.Open();
                return connection;
    
            }
    
        }

    数据层

      public partial class TuiUsersDal
        {
            public string ConnStr { set; get; }
    
            public List<Entities.TuiUsers> GetListUser(string strWhere)
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select * ");
                strSql.Append(" FROM `tuiusers` ");
                if (strWhere.Trim() != "")
                {
                    strSql.Append(" where " + strWhere);
                }
                List<Entities.TuiUsers> list = new List<Entities.TuiUsers>();
                using (var connection = ConnectionFactory.GetOpenConnection(ConnStr))
                {
                    list = connection.Query<Entities.TuiUsers>(strSql.ToString()).ToList();
    
                }
                return list;
            }
    
    
            /// <summary>
            /// 增加一条数据
            /// </summary>
            public bool Add(Entities.TuiUsers model)
            {
                DynamicParameters Parameters = new DynamicParameters();
                int cnt = 0;
                string sQuery = "INSERT INTO tuiusers (userName,userPass,userType,company,detail,create_time,edit_time,pid,alipayUrl,taobaoUrl,linkMan,contactInfo,priceRatio)"
                                  + " VALUES(@userName,@userPass,@userType,@company,@detail,@create_time,@edit_time,@pid,@alipayUrl,@taobaoUrl,@linkMan,@contactInfo,@priceRatio)";
                Parameters.Add("alipayUrl", model.alipayUrl);
                Parameters.Add("company", model.company);
                Parameters.Add("contactInfo", model.contactInfo);
                Parameters.Add("create_time", model.create_time);
                Parameters.Add("detail", model.detail);
                Parameters.Add("edit_time", model.edit_time);
                Parameters.Add("linkMan", model.linkMan);
                Parameters.Add("pid", model.pid);
                Parameters.Add("priceRatio", model.priceRatio);
                Parameters.Add("stateFlag", model.stateFlag);
                Parameters.Add("taobaoUrl", model.taobaoUrl);
                Parameters.Add("userName", model.userName);
                Parameters.Add("userPass", model.userPass);
                Parameters.Add("userType", model.userType);
                using (var connection = ConnectionFactory.GetOpenConnection(ConnStr))
                {
    
                    cnt = connection.Execute(sQuery, Parameters);
                }
    
                if (cnt > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
    
            /// <summary>
            /// 根据ID删除一条数据
            /// </summary>
            public bool Delete(int id)
            {
                DynamicParameters Parameters = new DynamicParameters();
                int cnt = 0;
                string sQuery = "Delete FROM tuiusers " + "WHERE Id=@Id";
                Parameters.Add("Id", id);
                using (var connection = ConnectionFactory.GetOpenConnection(ConnStr))
                {
                    cnt = connection.Execute(sQuery, Parameters);
                }
                if (cnt > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
    
            /// <summary>
            /// 更新一条数据
            /// </summary>
            public bool Update(Entities.TuiUsers model)
            {
                DynamicParameters Parameters = new DynamicParameters();
                string sQuery = "UPDATE tuiusers SET userPass=@userPass,userType=@userType,company=@company,detail=@detail,edit_time=@edit_time,pid=@pid,alipayUrl=@alipayUrl,taobaoUrl=@taobaoUrl,linkMan=@linkMan,contactInfo=@contactInfo,priceRatio=@priceRatio where userName=@userName";
                Parameters.Add("alipayUrl", model.alipayUrl);
                Parameters.Add("company", model.company);
                Parameters.Add("contactInfo", model.contactInfo);
                Parameters.Add("create_time", model.create_time);
                Parameters.Add("detail", model.detail);
                Parameters.Add("edit_time", model.edit_time);
                Parameters.Add("linkMan", model.linkMan);
                Parameters.Add("pid", model.pid);
                Parameters.Add("priceRatio", model.priceRatio);
                Parameters.Add("stateFlag", model.stateFlag);
                Parameters.Add("taobaoUrl", model.taobaoUrl);
                Parameters.Add("userName", model.userName);
                Parameters.Add("userPass", model.userPass);
                Parameters.Add("userType", model.userType);
    
                int cnt = 0;
                using (var connection = ConnectionFactory.GetOpenConnection(ConnStr))
                {
                    cnt = connection.Execute(sQuery, Parameters);
                }
                if (cnt > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
    
            /// <summary>
            /// 根据ID获取实体对象
            /// </summary>
            public Entities.TuiUsers GetModel(int id)
            {
                DynamicParameters Parameters = new DynamicParameters();
                string sQuery = "SELECT * FROM tuiusers " + "WHERE id = @id";
                Parameters.Add("id", id);
                using (var connection = ConnectionFactory.GetOpenConnection(ConnStr))
                {
                    return connection.Query<Entities.TuiUsers>(sQuery, Parameters).FirstOrDefault();
                }
            }
    
    
            /// <summary>
            /// 根据userName获取实体对象
            /// </summary>
            public Entities.TuiUsers GetModelByUserName(string userName)
            {
                DynamicParameters Parameters = new DynamicParameters();
                string sQuery = "SELECT * FROM tuiusers " + "WHERE userName = @userName";
                Parameters.Add("userName", userName);
    
    
                using (var connection = ConnectionFactory.GetOpenConnection(ConnStr))
                {
                    
                    return connection.Query<Entities.TuiUsers>(sQuery, Parameters).FirstOrDefault();
                }
            }
    
    
            /// <summary>分页获取数据列表
            /// 
            /// </summary>
            public List<Entities.TuiUsers> GetListArray(string fileds, string orderstr, int PageSize, int PageIndex, string strWhere)
            {
    
                string cond = string.IsNullOrEmpty(strWhere) ? "" : string.Format(" where {0}", strWhere);
    
                string sql = string.Format("select {0} from `tuiusers` {1} order by {2} limit {3},{4}", fileds, cond, orderstr, (PageIndex - 1) * PageSize, PageSize);
    
    
                List<Entities.TuiUsers> list = new List<Entities.TuiUsers>();
                using (var connection = ConnectionFactory.GetOpenConnection(ConnStr))
                {
                    list = connection.Query<Entities.TuiUsers>(sql).ToList();
    
                }
                return list;
            }
    
    
    
            /// <summary>计算记录数
            /// 
            /// </summary>
            /// <param name="p"></param>
            /// <returns></returns>
            public int CalcCount(string where)
            {
                string sql = "select count(1) from `tuiusers`";
                if (!string.IsNullOrEmpty(where))
                {
                    sql += " where " + where;
                }
                using (var connection = ConnectionFactory.GetOpenConnection(ConnStr))
                {
                    int i = connection.QuerySingle<int>(sql);
                    return i;
    
                }
            }
    
    
    
        }

    3.Startup注入

            public Startup(IConfiguration configuration)
            {
                Configuration = configuration;
            }
    
            public IConfiguration Configuration { get; }
    
            // This method gets called by the runtime. Use this method to add services to the container.
            public void ConfigureServices(IServiceCollection services)
            {
                //取出appsetting.json中的数据库连接字符串
                string connStr = Configuration.GetSection("ConnStr").Value;
    
                //注入
                services.AddSingleton<DAL.UsersDAL>(new DAL.UsersDAL() { ConnStr = connStr });
                services.AddSingleton<DAL.TuiUsersDal>(new DAL.TuiUsersDal() { ConnStr = connStr });
    
    
                //解决中文被编码
                services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));
    
                services.Configure<CookiePolicyOptions>(options =>
                {
                    // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                    options.CheckConsentNeeded = context => true;
                    options.MinimumSameSitePolicy = SameSiteMode.None;
                });
    
    
                //开启授权认证相关模块(中间件)
                services.AddAuthentication(
                options =>
                {
                   options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                   options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                })
               .AddCookie(options =>
               {
                options.LoginPath = "/Account/";
                options.Cookie.HttpOnly = true;
                });
                services.AddTransient<HttpContextAccessor>();
                services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    
    
    
    
            }

    4.配置文件

    {
        "ConnStr": "server=localhost;database=phone_card;uid=root;pwd=123456;charset=utf8;SslMode=None",
        "Logging": {
            "LogLevel": {
                "Default": "Warning"
            }
        },
        "AllowedHosts": "*"
    }
  • 相关阅读:
    Linux Shell中的延时函数
    调试core文件(转)
    C++类构造函数初始化列表(转)
    seq简介(转)
    查看内存使用情况(转)
    awk 数组实例(转)
    伪终端(转)
    C++类成员变量的初始化方法(转)
    几个shell命令(转)
    子进程自父进程继承什么或未继承什么(转)
  • 原文地址:https://www.cnblogs.com/Guroer/p/10403966.html
Copyright © 2011-2022 走看看