jeesite用了一段时间了,以前都只是用一个数据库。刚做了一个项目需要连接多个数据库取值,看了下官网的在线文档https://www.jeesite.com/,在jeesite中多数据源的使用还是比较方便的,不过中间配置还是出现了些小状态,好在最后都完美解决。把经验总结记录下,以备下次使用,有需要的小伙伴也可参考。
首先,在application.yml文件里增加多数据源和数据库的配置信息
(1)增加多数据源名称列表,多个名称用逗号隔开
例如:dataSourceNames:db2,db3
这里的db2,db3是自定义的数据源名称需要和下面配置信息的名称保持一致。
(2)增加每个数据源的配置信息,要注意缩进和前方空格个数
例如:
ds2:
type: mysql
driver: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/jeesite2?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
username: root
password: 123456
testSql: SELECT 1
encrypt:
username: false
password: true
pool:
init: 1
minIdle: 3
maxActive: 20
ds3:
type: oracle
driver: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@127.0.0.1:1521/orcl
username: jeesite
password: jeesite
testSql: SELECT 1 FROM DUAL
encrypt:
username: false
password: true
pool:
init: 1
minIdle: 3
maxActive: 20
使用方法:
第二步,在要使用ds2数据源的DAO层中添加注解@MyBatisDao(dataSourceName="ds2"),添加注解后该类下的方法都可以访问ds2数据库。
注意:如果使用的是DB2或其他数据库别忘了在pom.xml文件里添加数据库的配置信息。
例如:
@MyBatisDao(dataSourceName="ds2")
public interface PassStatisticsDao{}
dataSourceNames: ds2,ds3
# 多数据源配置:ds2(附加数据源2)
ds2:
type: mysql
driver: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/jeesite2?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
username: root
password: 123456
testSql: SELECT 1
encrypt:
username: false
password: true
pool:
init: 1
minIdle: 3
maxActive: 20
# 多数据源配置:ds3(附加数据源3)
ds3:
type: oracle
driver: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@127.0.0.1:1521/orcl
username: jeesite
password: jeesite
testSql: SELECT 1 FROM DUAL
encrypt:
username: false
password: true
pool:
init: 1
minIdle: 3
maxActive: 20
@MyBatisDao(dataSourceName="ds2")
public interface PassStatisticsDao{
/**
* @param passStatistics
* @return
*/
public List<PassStatistics> findInFlow(PassStatistics passStatistics);
/**
* @param passStatistics
* @return
*/
public List<PassStatistics> findOutFlow(PassStatistics passStatistics);
}
以上是我使用jeesite多数据源的总结,也是最简单的用法,如果大家对jeesite多数据源有其他的需要可以参考下官网的在线文档https://www.jeesite.com/