springboot整合多数据源: 一个mysql跟一个oracle (一) 前期准备
hello啊,大家好啊,我是杨洋,没错就是最帅的那个崽了,这两天呢,正好在整合多数据源的功能,今天呢,就给大家讲一哈子多数据源
多数据源之 一个mysql跟一个oracle
首先呢,我们先做下准备工作:
安装oracle
这边呢,我涂省事,直接贴个链接过来了,大家就看着把oracle 11g 装一下
链接在此,请戳我
连接oracle
方式(一)idea链接 oracle
安装好了oracle,我们肯定需要先测测看有没有问题啊,用idea自带的database连接如下
方式(二)Navicat链接 oracle
如下图所示
创建后面要用来测试的表
用刚刚完成的数据库根据创建oracle表:
如果用Navicat记得创建在 模式 SYSMAN 下面
create table USERTEST
(
ID NUMBER default 1 not null,
NAME VARCHAR2(20) default null
)
往里面随便插入数据
创建对应各个层级
xml
<mapper namespace="com.ermei.admui.sys.mapper.TestOracleMapper">
<select id="queryInfo" resultType="string">
select NAME from USERTEST
</select>
</mapper>
Mapper
/**
* 查询oracleMapper
*
* @author yanglei
*/
public interface TestOracleMapper {
/**
* 查询
*/
List<String> queryInfo();
}
service及实现
/**
* @author yanglei
* @desc
* @date 2020/9/4
*/
public interface TestOracleService {
List<String> queryInfo();
}
/**
* @author yanglei
* @desc
* @date 2020/9/4
*/
@Service
@DataSource(value = DataSourceType.SLAVE)
public class TestOracleServiceImpl implements TestOracleService {
@Resource
private TestOracleMapper testOracleMapper;
@Override
public List<String> queryInfo() {
return testOracleMapper.queryInfo();
}
}
创建controller
/**
* @author yanglei
* @desc
* @date 2020/9/4
*/
@Api("ORACLE Controller")
@RestController
public class TestOracleController {
@Resource
private TestOracleService testOracleService;
@ApiOperation(value = "测试")
@GetMapping("oracle/queryInfo")
public List<String> queryInfo(){
return testOracleService.queryInfo();
}
}
准备oracle8的jar包
原因是oracle是要收费的,不能通过远程的方式来引入,只能通过配置本地库来加载到工程里
先去官网下载下吧:oracle官网下载地址
点击下载,会跳到登录,登陆过后就能下载了
或者网上找下资源吧,其实6以上的版本应该都行
下载过后就是找到你的这个oracle.jar的文件地址,打开cmd,输入如下命令
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=8.0.0.1 -Dpackaging=jar -Dfile=D:\commonUseDevelop\ojdbc8.jar
这边复制的时候可能出现运行的时候乱码,运行的时候如果maven报错,就修改下这个命令,替换掉你有问题的字符
引入刚刚的maven坐标
<!-- oracle -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc8</artifactId>
<version>8.0.0.1</version>
</dependency>
到这呢,准备工作就做好了,下一篇开始核心部分