当前位置:   article > 正文

mysql sqlsugar_.net core +mysqlSugar(最为简单的增删改查)

mysqlsugar

首先建立.net Core API - empty 这个就不说了

然后创建新的Controller

20180830141204193333.png

记得添加路由

[Route("api/Users")]

然后在Nuget Packages安装 所需安装包

20180830141204383750.png

这里是用mysql所以下载如下的mysqlSugarCore

20180830141204674747.png

(切记不要忘记安装Mysql.Data)

创建实例化class文件DbText.cs

用于连接数据库,初始化

privateDbText()

{

}public static string ConnectionString { get; set; }public staticSqlSugarClient GetInstance()

{var db = newSqlSugarClient(ConnectionString);returndb;

}

当然记得引用MySqlSugar的库

然后在appsetting.json中创建连接字符串

20180830141204847588.png

点击Startup.cs在ConfigureServices函数中:

public voidConfigureServices(IServiceCollection services)

{

services.AddMvc();

DbText.ConnectionString= Configuration.GetConnectionString("DefaultConnection");

}

然后创建model层这里我根据数据库中的字段来创建

20180830141205053629.png

Ok接下来前期的工作完成了 ,利用sqlSugar进行基本的增删改查操作

Select

创建select接口

[HttpPost("select")]public stringSelect(Users user)

{using (var db =DbText.GetInstance()) {//查询所有数据的前五条并转化为Json格式

var top5 = db.Queryable().OrderBy(it =>it.username).ToJson();//简单的条件查询,查询表中所有女生的名字

var girl = db.Queryable().Where(it =>it.sex ==0).Select("name").ToJson();returngirl;

}

}

点击运行后 用postman进行调试可以看到从数据库中取出的前5条数据以JSon的格式返回或者表中女生的名字

20180830141205284083.png

Insert

接下来尝试用sqlsugar实现增加的操作

[HttpPost("add")]public stringRegister(Users user)

{//这里直接不加判断就增加一条学生数据

using (var db =DbText.GetInstance())

{var status =db.Insert(user);//查询刚插入的sex是否有值

var sex = db.Queryable().Single(it => it.userid ==status.ObjToInt()).sex;return "status:"+status.ToString() + ",sex:" +sex;

}

}

结果

20180830141205462783.png

发现数据库汇总的确多了一条数据插入成功

顺便来研究一下这个db.Insert()的返回值到底是什么东西

我换了一组值进行再次post

20180830141205752803.png

可以发现status从7变成了8我观察数据库发现这就是我的主键自增字段id的值(话说为什么就不是bool值呢)

Delete

然后来进行删除操作

[HttpPost("delete")]public boolRemoveUser(Users user)

{using (var db =DbText.GetInstance())

{//删除根据主键//db.Delete(10);//主键批量删除//db.Delete(new string[] { "100", "101", "102" });//假删除//db.FalseDelete("is_del", 100);//等同于 update school set is_del=1 where id in(100)//db.FalseDelete("is_del", it=>it.id==100);//同时满足条件删除

bool status = db.Delete(new Users() { username = "issa2018",password = "123457"});returnstatus;

}

}

运行postman后发现返回false我去 难道不是我想的这样??

然后我改变代码

bool status = db.Delete(new Users() { userid = 8});

这样就返回为true了 所以这个方法只能用于主键为参数!!!

最无语的就是我将代码改成如下(密码是错误的)以为他要同时满足条件才能删除

bool status = db.Delete(new Users() { userid =7,password = "123445"});

但返回结果却是true(也就是仍然删除了userid为7的列)

最后发现满足多条件删除得这么来,感觉稍微有点麻烦啊

bool status = db.Delete("username=@username and password=@password", new { username = user.username,password = user.password});

那我还不如这样

bool status = db.Delete("username=‘"+user.username+"‘ and password=‘"+user.password+"‘");

Update

先看下如何用sqlsuagr怎么修改吧

[HttpPost("update")]public boolEditInfo(Users user)

{using (var db =DbText.GetInstance())

{//支持字典更新,适合动态权限//var dic = new Dictionary();//dic.Add("name", "第十三条");//dic.Add("areaId", "1");//db.Update(dic, 13);//这个更新会把除了更新的东西以外的全部值都为空赋进去因为是吧整个user带进去了//var updateStatus = db.Update(new Users { name = user.name, remark = user.remark }, it => it.username == user.username & it.password == user.password);//更新name和remark的值

var updateStatus = db.Update(new { name = user.name, remark = user.remark }, it => it.username == user.username & it.password ==user.password);returnupdateStatus;

}

}

Postman传递数据更新成功

下一次会整理更多有用的sqlsugar的功能

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/135048?site
推荐阅读
相关标签
  

闽ICP备14008679号