点击上方蓝字,关注 若依框架
欢迎转发评论加关注👋
“ 若依系列每日持续分享!点赞➕关注,技术不迷路🥳 ”
在若依微服务框架中,默认的代码生成工具是基于 MySQL 的,但很多项目需要接入SQLServer 数据库。直接使用 MySQL 版本会出现 SQL 语法不兼容、分页方式不同等问题,因此需要对代码生成模块进行扩展,让它支持 SQLServer。
OFFSET ... FETCH NEXT ... ROWS ONLY或TOP n,与 MySQL 的LIMIT不同nvarchar、datetime等)@DS("sqlserver")指定数据源@Primary用于解决自动注入冲突第一步:添加依赖
<dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId></dependency>第二步:配置数据源
spring: datasource:# MySQL 主库 master: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8 username: root password: 123456# SQLServer sqlserver: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://127.0.0.1:1433;databaseName=DEMO username: sa password: 123456第三步:新增 Service 实现类
@Service@Primary@DS("sqlserver")public class SqlServerGenTableServiceImpl implements IGenTableService { // 注入 SQLServer Mapper}第四步:新增 Mapper 层接口
public interface SqlServerGenTableMapper { List<GenTable> selectGenTableList(GenTable genTable);}第五步:编写 SQLServer 专用 XMLresources/mapper/sqlserver/SqlServerGenTableMapper.xml
<select id="selectGenTableList"resultType="GenTable"> SELECT TOP 50 * FROM sys.tables</select>第六步:修改控制器支持 SQLServer
@GetMapping("/sqlserver/list")public TableDataInfo sqlServerList(GenTable genTable){ startPage(); List<GenTable> list = sqlServerGenTableService.selectGenTableList(genTable);return getDataTable(list);}



你们的赞和在看
是我每日更新的全部动力