天天看点

jeesite如何已生成数据的数据源_jeesite添加多数据源

1.jeesite.properties 添加数据源信息,(url2,username2,pawwword2)

#mysql database setting

jdbc.type=mysql

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/website?useUnicode=true&characterEncoding=utf-8

jdbc.username=root

jdbc.password=root

#mysql2 database setting

#jdbc.type=mysql

#jdbc.driver=com.mysql.jdbc.Driver

jdbc.url2=jdbc:mysql://218.28.123.82:3306/stkcentervideosys?useUnicode=true&characterEncoding=utf-8

jdbc.username2=root

jdbc.password2=root

2.修改spring-context.xml(src/main/resources/),3处需要修改/添加

第一处(spring-context.xml):

第二处(spring-context.xml):修改为dynamicDataSource

第三处(spring-context.xml):修改为dynamicDataSource

3.添加DynamicDataSource.java (com.thinkgem.jeesite.common.db.DynamicDataSource.java)

package com.thinkgem.jeesite.common.db;

import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;

public class DynamicDataSource extends AbstractRoutingDataSource {

private static final ThreadLocal contextHolder = new ThreadLocal();

public static String getCurrentLookupKey() {

return (String) contextHolder.get();

}

public static void setCurrentLookupKey(String currentLookupKey) {

contextHolder.set(currentLookupKey);

}

@Override

protected Object determineCurrentLookupKey() {

return getCurrentLookupKey();

}

}

4.在Controller中切换(在service层切换不管用,还没查原因)

//切换数据源dataSource2,默认数据源dataSource

DynamicDataSource.setCurrentLookupKey("dataSource2");

List list = stkScenerySpotService.findAll();

model.addAttribute("list",list);

DynamicDataSource.setCurrentLookupKey("dataSource");

注:

要对切换的数据源dataSource2 中的表手动写映射和三层

实体:com.thinkgem.jeesite.modules.cms.entity.StkScenerySpot.java

service:com.thinkgem.jeesite.modules.cms.service.StkScenerySpotService.java

mapper:StkScenerySpotDao.xml (src/main/resources/modules/cms)

我只查所有,所以sql很简单

a.Spot_Id AS "id",

a.CamId AS "camId",

a.Name AS "name",

a.Comment AS "commnet"

SELECT

FROM stk_scenery_spot a

1 = 1

ORDER BY a.Spot_Id DESC

效果:

jeesite数据库表

jeesite如何已生成数据的数据源_jeesite添加多数据源

datasource2数据表

jeesite如何已生成数据的数据源_jeesite添加多数据源

获取数据

jeesite如何已生成数据的数据源_jeesite添加多数据源

前端展示

jeesite如何已生成数据的数据源_jeesite添加多数据源

datasource2数据表中的内容

jeesite如何已生成数据的数据源_jeesite添加多数据源

参考资料:http://www.hifreud.com/2015/02/25/07-spring-datasources/

http://www.cnblogs.com/digdeep/p/4512368.html

jeesite如何已生成数据的数据源_jeesite添加多数据源

大小: 104.3 KB

jeesite如何已生成数据的数据源_jeesite添加多数据源

大小: 124.3 KB

jeesite如何已生成数据的数据源_jeesite添加多数据源

大小: 37.5 KB

jeesite如何已生成数据的数据源_jeesite添加多数据源

大小: 9.2 KB

jeesite如何已生成数据的数据源_jeesite添加多数据源

大小: 28 KB

分享到:

jeesite如何已生成数据的数据源_jeesite添加多数据源
jeesite如何已生成数据的数据源_jeesite添加多数据源

2015-10-12 10:00

浏览 8354

评论

1 楼

wqlin_007

2017-03-28

我也在service进行了配置不成功,是不是在进入service时sqlSessionFactory和mapperScannerConfigurer中已经通过getCurrentLookupKey()获取了数据库连接?能不能在DAO层进行切换数据源呢?查了一些资料,也有配置在DAO上的,不过我现在还没有测试成功

jeesite如何已生成数据的数据源_jeesite添加多数据源
jeesite如何已生成数据的数据源_jeesite添加多数据源