feat(database): 支持达梦数据库适配

- 在多个Mapper XML文件中增加对达梦数据库的SQL语句适配
- 为AiCommandRecordMapper.xml中的model字段添加反引号避免关键字冲突
- 为LogMapper.xml、UserMapper.xml和DatabaseMapper.xml添加databaseId属性区分不同数据库
- 新增MybatisConfig配置类用于识别数据库类型并注册VendorDatabaseIdProvider
- pom.xml中引入达梦数据库驱动依赖DmJdbcDriver8
- 完善RoleMapper接口注释明确返回值类型
This commit is contained in:
theo
2025-12-04 11:26:27 +08:00
parent 96676f487e
commit e1d7f0371d
8 changed files with 321 additions and 36 deletions

View File

@@ -7,11 +7,15 @@ import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionIntercepto
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.youlai.boot.plugin.mybatis.MyDataPermissionHandler;
import com.youlai.boot.plugin.mybatis.MyMetaObjectHandler;
import org.apache.ibatis.mapping.DatabaseIdProvider;
import org.apache.ibatis.mapping.VendorDatabaseIdProvider;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import java.util.Properties;
/**
* mybatis-plus 配置类
*
@@ -57,4 +61,17 @@ public class MybatisConfig {
return globalConfig;
}
/**
* 数据库类型自动识别
*/
@Bean
public DatabaseIdProvider databaseIdProvider() {
DatabaseIdProvider databaseIdProvider = new VendorDatabaseIdProvider();
Properties properties = new Properties();
properties.setProperty("DM", "dm");
properties.setProperty("MySQL", "mysql");
databaseIdProvider.setProperties(properties);
return databaseIdProvider;
}
}

View File

@@ -1,13 +1,12 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.system.model.bo.VisitCount;
import com.youlai.boot.system.model.bo.VisitStatsBO;
import com.youlai.boot.system.model.entity.Log;
import com.youlai.boot.system.model.query.LogPageQuery;
import com.youlai.boot.system.model.vo.LogPageVO;
import com.youlai.boot.system.model.vo.VisitStatsVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

View File

@@ -19,7 +19,7 @@ public interface RoleMapper extends BaseMapper<Role> {
* 获取最大范围的数据权限
*
* @param roles 角色编码集合
* @return
* @return {@link Integer} 数据权限范围
*/
Integer getMaximumDataScope(Set<String> roles);
}