网站开发产品描述,电商网站设计制作,seo搜索是什么意思,十大黑心装修公司目录 一、若依平台配置 二、编写oracle数据库访问的各类文件 三. 一个方法操作多个数据源 一、若依平台配置
1、在ruoyi-admin的pom.xml添加依赖 dependency groupIdcom.oracle/groupId artifactIdojdbc6/artifactId version…目录 一、若依平台配置 二、编写oracle数据库访问的各类文件 三. 一个方法操作多个数据源 一、若依平台配置
1、在ruoyi-admin的pom.xml添加依赖 dependency groupIdcom.oracle/groupId artifactIdojdbc6/artifactId version11.2.0.3/version scopesystem/scope systemPath${project.basedir}/src/main/resources/lib/ojdbc6.jar/systemPath
/dependency
2、引入ojdbc6.jar包
在ruoyi-admin的resource下创建lib文件夹将ojdbc6.jar包保存在此目录下 3. 刷新maven
刷新maven保证ruoyi-admin的Dependencies包含com.oracle:ojdbc6:11.2.0.3(system)
否则会报java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误 4、在ruoyi-admin模块application-druid.yml配置从库数据源若依已配置需要修改 注意删除 datasource下的driverClassName: com.mysql.cj.jdbc.Driver写到master下面
# 数据源配置
spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedruid:# 主库数据源master:url: jdbc:mysql://IP:3306/feedback?useUnicodetruecharacterEncodingutf8zeroDateTimeBehaviorconvertToNulluseSSLtrueserverTimezoneGMT%2B8username: rootpassword: rootdriverClassName: com.mysql.cj.jdbc.Driver# 从库数据源slave:# 从数据源开关/默认关闭enabled: trueurl: jdbc:oracle:thin:IP:1521:orancdbusername: rootpassword: rootdriverClassName: oracle.jdbc.driver.OracleDriver
5、在DataSourceType类添加数据源枚举若依已配置忽略
/** * 从库 */
SLAVE
6、在DruidConfig配置读取数据源若依已配置忽略
Bean
ConfigurationProperties(spring.datasource.druid.slave)
ConditionalOnProperty(prefix spring.datasource.druid.slave, name enabled, havingValue true)
public DataSource slaveDataSource(DruidProperties druidProperties)
{DruidDataSource dataSource DruidDataSourceBuilder.create().build();return druidProperties.dataSource(dataSource);
}
7、在DruidConfig类dataSource方法添加数据源若依已配置忽略
setDataSource(targetDataSources, DataSourceType.SLAVE.name(), slaveDataSource);在ruoyi-admin模块application.yml修改配置在ruoyi-admin模块application.yml修改配置 8.在ruoyi-admin模块application.yml修改PageHelper分页插件
# PageHelper分页插件
pagehelper:helperDialect: mysql# 默认值为 false。设置为 true 时允许在运行时根据多数据源自动识别对应方言的分页autoRuntimeDialect: true# 自动获取数据库类型选择合适的分页方式reasonable: true# 标识数据库类型# 默认为 false分页插件会从查询方法的参数值中自动根据上面 params 配置的字段中取值自动分页supportMethodsArguments: trueparams: countcountSql
二、编写oracle数据库访问的各类文件
1. domain 和mapper controller文件都一样
注意oracle数据库字段是CODE 大写domain中的字段是code 小写即可
public class SysOracleUser {private String code;private String name;private String sex;...
}
2. 在需要使用多数据源service方法 或service类或mapper方法或mapper类上添加DataSource注解其中value用来表示数据源。只需要在其中一处加即可只给mapper或者只给service加
(1) service方法
//获取人员信息
DataSource(value DataSourceType.SLAVE)
public ListSysOracleUser selectUserList(SysOracleUser sysOracleUser )System.out.println(selectUserList);ListSysOracleUser userList sysOracleMapper.selectUserList(sysOracleUser );return userList;
}
(2)SysOracleMapper .java mapper类
DataSource(value DataSourceType.SLAVE)
public interface SysOracleMapper {//获取人员信息public ListSysOracleUser selectUserList(SysOracleUser sysOracleUser);
}(3)SysOracleServiceImpl.javaservice类
Service
DataSource(value DataSourceType.SLAVE)
public class SysOracleServiceImpl implements ISysOracleService
三. 一个方法操作多个数据源
《1》如果一个方法里操作多个数据库给mapper类加DataSource(value DataSourceType.SLAVE) 或者DataSource(value DataSourceType.MASTER)
这样service调用不同数据库的mapper也不需要切换
《2》只需要在其中一处加即可只给mapper或者只给service加