.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 = ;
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 > )
{
return true;
}
else
{
return false;
}
} /// <summary>
/// 根据ID删除一条数据
/// </summary>
public bool Delete(int id)
{
DynamicParameters Parameters = new DynamicParameters();
int cnt = ;
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 > )
{
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 = ;
using (var connection = ConnectionFactory.GetOpenConnection(ConnStr))
{
cnt = connection.Execute(sQuery, Parameters);
}
if (cnt > )
{
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 - ) * 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": "*"
}
.net Core+Dapper MySQL增删改查的更多相关文章
- MySQL—增删改查,分组,连表,limit,union,alter,排序,去重
MySQL增删改查 在表格的增删改查中,查的内容是最多的,包括group by ,join,limit,union,alter,排序都是服务于查的 #sql语句数据行操作补充 #增加: #insert ...
- PHP MySql增删改查
mysql_connect()连接数据库 mysql_select_db选择数据库 mysql_fetch_assoc()获取结果集 mysql_query()执行sql语句 实例如下: <?p ...
- mysql增删改查练习
Mysql增删改查sql语句练习 关于数据库的一些操作: 进入mysql 命令行: mysql -uroot –p 查看所有数据库: show databases; 创建数据库: create dat ...
- Django学习之mysql增删改查
上节介绍了如何使用命令行操作mysql增删改查,现在介绍如何使用python管理mysql 使用pip 下载完mysql后,mysql会以pymysql模块的形式存储在pycharm的包文件里.我们通 ...
- mysql增删改查相关操作
mysql增删改查相关操作 以前用mysql用的少,对于数据库相关的操作不熟悉,现在开始要接触数据库了,记录一下相关的基础操作吧. 1.数据库的授权操作 # mysql -u root -p Ente ...
- 基于gin的golang web开发:mysql增删改查
Go语言访问mysql数据库需要用到标准库database/sql和mysql的驱动.标准库的Api使用比较繁琐这里再引入另一个库github.com/jmoiron/sqlx. go get git ...
- MySQL增删改查的常用语句汇总
MySQL增删改查的常用语句汇总 以下是总结的mysql的常用语句,欢迎指正和补充~ 一.创建库,删除库,使用库 1.创建数据库:create database 库名; 2.删除数据库:drop da ...
- 使用轻量级ORM Dapper进行增删改查
项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET.微软的EF.NH等.再跟经理讨论后,经理强调不要用Ef,NH做ORM,后期的sql优化不好做,公司 ...
- Dapper进行增删改查 z
http://www.cnblogs.com/huangkaiyan10/p/4640548.html 项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET ...
随机推荐
- BZOJ 1010: 玩具装箱toy (斜率优化dp)
Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...
- 最近公共祖先(LCT)
来一发\(LCT\)求\(LCA\) \(LCT\)在时间上不占据优势,码量似乎还比树剖,倍增,\(Tarjan\)大一点 但是却是一道\(LCT\)的练手题 对于每一个询问,我们只需要把其中一个点( ...
- pytest 14 使用自定义标记mark
标记失败用到的情况是,本身就知道这是失败的例子,所以,不用让他运行,直接跳过.或者是依赖于某个方法,某个方式失败的话,用例直接标记成失败. 标记失败有两种方法,一种是方法内部,一种是方法外部.内部用p ...
- 使用zabbix监控nginx的活动连接数
使用zabbix监控nginx的活动连接数 1.方法简述 zabbix可以自定义很多监控,只要是能通过命令获取到相关的值,就可以在zabbix的监控中增加该对象进行监控,在zabbix中,该对象称之为 ...
- 使用lombok 注解Java类
环境信息: IDEA 2016.2.4 Maven 3 JDK 1.8 Maven工程配置: <properties> <lombok.version>1.16.16< ...
- .net 笔试题目
2.1.using关键字有什么用?什么是IDisposable? using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,usin ...
- “不能在dropdownlist中选择多个项
DropDownList.ClearSelection(); DropDownList.SelectedItem.Text = "value值";
- python setuptools
在安装python依赖库时,我们使用pip install 或者python setup.py install. pip 会自己搜索适合的版本,python setup.py 需要下载源码本地安装.但 ...
- 【7】学习C++之类的构造函数
(说实话,我一开始真没觉得构造函数这块有多重要,但是看的视频中老师却花了不少的时间去讲这块内容,本着整理了不亏的心态还是整理了一下) 1.常见的构造函数 C++的类在创建对象的时候,都会去调用构造函数 ...
- dba_segements 没有所有的表的信息
这是oracle11g新增的功能,假设一个一般的用户user新建了一张表user_table,这时切换到sys用户查看dba_segments 查看user_table的信息,发现dba_segmen ...