mysql sqlsugar_.net core +mysqlSugar(最为简单的增删改查)
首先建立.net Core API - empty 這個就不說了
然后創建新的Controller
記得添加路由
[Route("api/Users")]
然后在Nuget Packages安裝 所需安裝包
這里是用mysql所以下載如下的mysqlSugarCore
(切記不要忘記安裝Mysql.Data)
創建實例化class文件DbText.cs
用于連接數據庫,初始化
privateDbText()
{
}public static string ConnectionString { get; set; }public staticSqlSugarClient GetInstance()
{var db = newSqlSugarClient(ConnectionString);returndb;
}
當然記得引用MySqlSugar的庫
然后在appsetting.json中創建連接字符串
點擊Startup.cs在ConfigureServices函數中:
public voidConfigureServices(IServiceCollection services)
{
services.AddMvc();
DbText.ConnectionString= Configuration.GetConnectionString("DefaultConnection");
}
然后創建model層這里我根據數據庫中的字段來創建
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的格式返回或者表中女生的名字
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;
}
}
結果
發現數據庫匯總的確多了一條數據插入成功
順便來研究一下這個db.Insert()的返回值到底是什么東西
我換了一組值進行再次post
可以發現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的功能
總結
以上是生活随笔為你收集整理的mysql sqlsugar_.net core +mysqlSugar(最为简单的增删改查)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 《日落望江赠荀丞诗》第八句是什么
- 下一篇: centos 多个mysql数据库_Ce
