.net core +mysqlSugar(最为简单的增删改查)
首先建立.net Core API - empty 这个就不说了
然后创建新的Controller
记得添加路由
[Route("api/Users")]
然后在Nuget Packages安装 所需安装包
这里是用mysql所以下载如下的mysqlSugarCore
(切记不要忘记安装Mysql.Data)
创建实例化class文件DbContext.cs
用于连接数据库,初始化
private DbContext()
{
}
public static string ConnectionString { get; set; } public static SqlSugarClient GetInstance()
{
var db = new SqlSugarClient(ConnectionString);
return db;
}
当然记得引用MySqlSugar的库
然后在appsetting.json中创建连接字符串
点击Startup.cs在ConfigureServices函数中:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
DbContext.ConnectionString = Configuration.GetConnectionString("DefaultConnection");
}
然后创建model层这里我根据数据库中的字段来创建
Ok接下来前期的工作完成了 ,利用sqlSugar进行基本的增删改查操作
Select
创建select接口
[HttpPost("select")]
public string Select(Users user)
{
using (var db = DbContext.GetInstance()) {
//查询所有数据的前五条并转化为Json格式
var top5 = db.Queryable<Users>().OrderBy(it => it.username).ToJson();
//简单的条件查询,查询表中所有女生的名字
var girl = db.Queryable<Users>().Where(it =>it.sex ==).Select("name").ToJson();
return girl;
}
}
点击运行后 用postman进行调试可以看到从数据库中取出的前5条数据以JSon的格式返回或者表中女生的名字
Insert
接下来尝试用sqlsugar实现增加的操作
[HttpPost("add")] public string Register(Users user) { //这里直接不加判断就增加一条学生数据 using (var db = DbContext.GetInstance()) { var status = db.Insert(user); //查询刚插入的sex是否有值 var sex = db.Queryable<Users>().Single(it => it.userid == status.ObjToInt()).sex; return "status:"+status.ToString() + ",sex:" + sex; } }
结果
发现数据库汇总的确多了一条数据插入成功
顺便来研究一下这个db.Insert()的返回值到底是什么东西
我换了一组值进行再次post
可以发现status从7 变成了8 我观察数据库发现这就是我的主键自增字段id的值(话说为什么就不是bool值呢)
Delete
然后来进行删除操作
[HttpPost("delete")]
public bool RemoveUser(Users user)
{ using (var db = DbContext.GetInstance())
{
//删除根据主键
// db.Delete<Users, int>(10); //主键批量删除
//db.Delete<Users, string>(new string[] { "100", "101", "102" }); //假删除
//db.FalseDelete<school>("is_del", 100);
//等同于 update school set is_del=1 where id in(100)
//db.FalseDelete<school>("is_del", it=>it.id==100); //同时满足条件删除
bool status = db.Delete(new Users() { username = "issa2018",password = ""}); return status;
}
}
运行postman后发现返回false 我去 难道不是我想的这样??
然后我改变代码
bool status = db.Delete(new Users() { userid = });
这样就返回为true了 所以这个方法只能用于主键为参数!!!
最无语的就是我将代码改成如下(密码是错误的)以为他要同时满足条件才能删除
bool status = db.Delete(new Users() { userid =,password = ""});
但返回结果却是true(也就是仍然删除了userid为7的列)
最后发现满足多条件删除得这么来,感觉稍微有点麻烦啊
bool status = db.Delete<Users>("username=@username and password=@password", new { username = user.username,password = user.password});
那我还不如这样
bool status = db.Delete<Users>("username='"+user.username+"' and password='"+user.password+"'");
Update
先看下如何用sqlsuagr怎么修改吧
[HttpPost("update")] public bool EditInfo(Users user) { using (var db = DbContext.GetInstance()) { //支持字典更新,适合动态权限 //var dic = new Dictionary<string, string>(); //dic.Add("name", "第十三条"); //dic.Add("areaId", "1"); //db.Update<Users, int>(dic, 13); //这个更新会把除了更新的东西以外的全部值都为空赋进去因为是吧整个user带进去了 //var updateStatus = db.Update<Users>(new Users { name = user.name, remark = user.remark }, it => it.username == user.username & it.password == user.password); //更新name和remark的值 var updateStatus = db.Update<Users>(new { name = user.name, remark = user.remark }, it => it.username == user.username & it.password == user.password); return updateStatus; } }
Postman传递数据更新成功
下一次会整理更多有用的sqlsugar的功能
.net core +mysqlSugar(最为简单的增删改查)的更多相关文章
- BitAdminCore框架应用篇:(二)创建一个简单的增删改查模块
NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookie ...
- Java web 简单的增删改查程序(超详细)
就是简单的对数据进行增删改查.代码如下: 1.bean层:用来封装属性及其get set方法 toString方法,有参构造方法,无参构造方法等. public class Bean { privat ...
- salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)
此篇请参看:https://resources.docs.salesforce.com/202/latest/en-us/sfdc/pdf/salesforce_developer_environme ...
- MyBatis学习--简单的增删改查
jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...
- 通过JDBC进行简单的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- MyBatis简单的增删改查以及简单的分页查询实现
MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...
- 初试KONCKOUT+WEBAPI简单实现增删改查
初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...
- MVC3.0+knockout.js+Ajax 实现简单的增删改查
MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...
- SpringMVC之简单的增删改查示例(SSM整合)
本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...
随机推荐
- [51nod1264]线段相交
给定两个点: typedef struct { double x, y; } Point; Point A1,A2,B1,B2; 首先引入两个实验: a.快速排斥实验 设以线段A1A2和线段B1B ...
- 全文检索技术---solr
1 Solr介绍 1.1 什么是solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr可以独立运行在Jetty.Tom ...
- Spring 框架学习整理
JDBC操作数据库的基本入门中存在什么问题? * 导致驱动注册两次是个问题,但不是严重的. * 严重的问题:是当前类和mysql的驱动类有很强的依赖关系. * 当我们没有驱动类的时候 ...
- 使用 Chrome Timeline 来优化页面性能
使用 Chrome Timeline 来优化页面性能 有时候,我们就是会不由自主地写出一些低效的代码,严重影响页面运行的效率.或者我们接手的项目中,前人写出来的代码千奇百怪,比如为了一个 Canvas ...
- 6.7 安装ant
准备好安装包: 安装vim: 解压: tar -xzvf apahce-ant-1.10.1-bin.tar.gz 这里,我将apache-ant-1.10.1-bin.tar.gz复制并解压到了/h ...
- 2. Web渗透测试中常见逻辑漏洞解析与实战
注:以下漏洞示例已由相关厂商修复,切勿非法测试! 0x01 漏洞挖掘 01 注册 注册中最常见的有两个,一个是恶意注册,另一个是账户遍历.一个好的注册界面应该是这样 或者这样的 而不是这样的 要么使 ...
- Note: File Recipe Compression in Data Deduplication Systems
Zero-Chunk Suppression 检测全0数据块,将其用预先计算的自身的指纹信息代替. Detect zero chunks and replace them with a special ...
- uva10570(枚举基准,贪心)
uva10570(枚举基准,贪心) 输入一个1至n的排列(n<=500),每次可以交换两个整数,用最小的交换次数把排列变成1至n的一个环状排列. 首先用\(O(n)\)的时间枚举一个排列,接着问 ...
- spark 机器学习 朴素贝叶斯 实现(二)
已知10月份10-22日网球场地,会员打球情况通过朴素贝叶斯算法,预测23,24号是否适合打网球.结果,日期,天气 温度 风速结果(0否,1是)天气(0晴天,1阴天,2下雨)温度(0热,1舒适,2冷) ...
- Codeforces Round #501 (Div. 3) 1015D Walking Between Houses
D. Walking Between Houses time limit per test 2 seconds memory limit per test 256 megabytes input st ...