.net6 web api中使用SqlSugar(MySQL数据库)
创始人
2024-03-16 05:46:58
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();}}
}

相关内容

热门资讯

信息发展(300469)披露修... 截至2025年12月26日收盘,信息发展(300469)报收于64.27元,较前一交易日下跌0.2%...
闻泰科技:采取法律手段积极维护... 12月26日,闻泰科技召开2025年第五次临时股东会。闻泰科技表示,当前,公司管理层的首要任务与核心...
霸王茶姬因“咖啡因”上热搜,针... 红星资本局12月26日消息,今日,话题词“霸王茶姬 咖啡因”登上热搜,引发广泛讨论,有不少网友表示喝...
利好跨国公司!这项跨境资金管理... 中国人民银行、国家外汇管理局12月26日发布通知,在总结前期部分地区试点经验的基础上,决定在全国范围...
生态环境损害赔偿十大典型案例发... 央广网北京12月26日消息(记者关灵子)12月26日,生态环境部召开12月例行新闻发布会,记者从会上...
东营区司法局:充电蓄能强本领,... 为进一步加强全区专职人民调解队伍建设,提升人民调解工作整体水平,东营区司法局于12月25日成功举办全...
捍卫品牌正当权益,比亚迪起诉自... 比亚迪起诉自媒体“龙哥讲电车”等账号一审胜诉,法院认定他们编造虚假信息、损害比亚迪声誉,判决其停止侵...
民进党当局对所谓“两岸关系条例... 12月26日,台湾《中国时报》报道,陆委会近日推动所谓“两岸人民关系条例”四项修正,包含:公务员赴陆...
住户养百余只猫引发邻里纠纷 北... 12月19日,随着住户曹某将100余只猫全部迁出,一场发生在北京石景山的邻里纠纷得以实质化解。 一住...
新修订的《河南省征兵工作条例》... 日前,省人大常务委员会发布公告,新修订的《河南省征兵工作条例》自2026年1月1日起施行。 据省征兵...