.net6 web api中使用SqlSugar(MySQL数据库)
创始人
2024-03-16 09:24:42
0

其中SqlSugar,也可以是EFcore,或者Dapper,或者其他ORM框架。

其中mysql,也可以是SqlServer,或者oracle,或者其他数据库类型。

1.首先使用vs2022建立.net6 web api

2.增加SqlSugar和MySQL依赖项。

Newtonsoft.Json是序列化

3. 根据官网说明进行注入

SqlSugar.IOC/依赖注入 - SqlSugar 5x - .NET果糖网

using SqlSugar;namespace demoAPI.Db
{public static class SqlsugarSetup{public static void AddSqlsugarSetup(this IServiceCollection services, IConfiguration configuration,string dbName = "ConnectString"){SqlSugarScope sqlSugar = new SqlSugarScope(new ConnectionConfig(){DbType = SqlSugar.DbType.MySql,ConnectionString = configuration[dbName],IsAutoCloseConnection = true,},db =>{//单例参数配置,所有上下文生效       db.Aop.OnLogExecuting = (sql, pars) =>{Console.WriteLine(sql);//输出sql};//技巧:拿到非ORM注入对象//services.GetService<注入对象>();});services.AddSingleton(sqlSugar);//这边是SqlSugarScope用AddSingleton}}
}

注入操作

builder.Services.AddSqlsugarSetup(builder.Configuration);

其中ConnectString就是MySQL数据库的连接字符串

"ConnectString": "Server=127.0.0.1;Port=3306;Database=test;Uid=root;Pwd=123456;"

4. 建立实体类

这个要和数据库的一致 

注意: 建立实体类,可以使用DBfirst,也可以使用codefirst,也可以手动,最终只要有实体就行了。

4. 建立测试控制类

using demoAPI.Model;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;namespace demoAPI.Controllers
{[ApiController][Route("api/[controller]/[action]")]public class testAPI : ControllerBase{private readonly ISqlSugarClient db;public testAPI(ISqlSugarClient db){this.db = db;}[HttpGet]public void Get(){var a = db.Queryable().ToList();var b = db.Queryable().Where(a => a.id == "22").ToList();}}
}

5.运行代码,看结果

点击第一个执行。 

拓展:数据返回类型

对webapi操作的时候,会有返回的数据,返回的数据各有不同,有集合,有单体,有数值,有字节流等等方式。也可以对他们进行统一的封装,进行标识,后面将会写,下面的代码,目前可以进行参考一下。

using demoAPI.Model;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;namespace demoAPI.Controllers
{[ApiController][Route("api/[controller]/[action]")]public class testAPI : ControllerBase{private readonly ISqlSugarClient db;public testAPI(ISqlSugarClient db){this.db = db;}[HttpGet]public void Get(){var a = db.Queryable().ToList();var b = db.Queryable().Where(a => a.id == "22").ToList();}/// /// 返回所有数据/// /// [HttpGet]public async Task>> AAA(){return await db.Queryable().ToListAsync();}/// /// 返回单条数据/// /// [HttpGet("{id}")]public async Task>> AAA(string id){var data = await db.Queryable().Where(s => s.id == id).ToListAsync();return data;}/// /// 返回体单个数值/// /// [HttpGet]public  ActionResult B( ){return "12231";}/// /// 返回状态码/// /// [HttpGet]public  IActionResult B1(){return NotFound();}}
}

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...