0 0

如何根据不同的用户使用不同的jdbcTemplate数据源?5

公司有一项目,使用的是spring JDBCTemplate 作为数据库连接池,现在需求变更了,需要根据不同的用户访问不同的数据源。
根据用户找出数据库名很容易办到,现在的问题是如何如何在不同的request里面使用不同的数据源?或者说 jdbctemplate 如何做到多数据源?
谢谢大家了。
2013年10月09日 17:50

2个答案 按时间排序 按投票排序

0 0

采纳的答案

org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource这个类就是解决这种问题的。
具体说,实现 protected Object determineCurrentLookupKey()这个方法返回一个key,protected DataSource determineTargetDataSource()这个方法根据你的key找出数据源。
一般是用ThreadLocal保存一个标志,再用这个类,根据标志找出TargetDataSource。对于web应用,一般用filter,请求开始时放入标志,在请求结束后清除标志。

2013年10月15日 13:18
0 0

嗯嗯 ,学习到了,明白了!!!!!!

2013年10月20日 22:23

相关推荐

    SpringBoot+Atomikos分布式事务及多数据源动态切换,两种demo

    SpringBoot+Atomikos分布式事务及多数据源动态切换,两种demo,两条数据源,是满足事务唯一性的,看清楚是demo

    SpringAll_wuyouzhuguli.tar.gz

    Spring Boot JdbcTemplate配置Druid多数据源 Spring Boot AOP记录用户操作日志 Spring Boot中使用thymeleaf Spring Boot中使用Redis缓存数据 Spring Boot中使用Ehcache缓存数据 Spring Boot中的JSON技术 Spring Boot...

    springboot学习

    chapter3-2-3:多数据源配置(一):JdbcTemplate chapter3-2-4:多数据源配置(二):Spring-data-jpa chapter3-2-5:使用NoSQL数据库(一):Redis chapter3-2-6:使用NoSQL数据库(二):MongoDB chapter3-2-7:...

    Spring.3.x企业应用开发实战(完整版).part2

    8.4.3 Spring的数据源实现类 8.5 小结 第9章 Spring的事务管理 9.1 数据库事务基础知识 9.1.1 何为数据库事务 9.1.2 数据并发的问题 9.1.3 数据库锁机制 9.1.4 事务隔离级别 9.1.5 JDBC对事务支持 9.2 ThreadLocal...

    Spring3.x企业应用开发实战(完整版) part1

    8.4.3 Spring的数据源实现类 8.5 小结 第9章 Spring的事务管理 9.1 数据库事务基础知识 9.1.1 何为数据库事务 9.1.2 数据并发的问题 9.1.3 数据库锁机制 9.1.4 事务隔离级别 9.1.5 JDBC对事务支持 9.2 ThreadLocal...

    Spring-Reference_zh_CN(Spring中文参考手册)

    配置子报表数据源 14.7.5. 配置Exporter的参数 15. 集成其它Web框架 15.1. 简介 15.2. 通用配置 15.3. JavaServer Faces 15.3.1. DelegatingVariableResolver 15.3.2. FacesContextUtils 15.4. Struts 15.4.1. ...

    dexcoder-assistant:dexcoder 快速开发工具包

    新版全新重构,更加方便易用,请移步: Dexcoder快速开发辅助工具包 该通用dal是在开发过程中,对于简单...配置动态数据源请看这里: 数据水平分表请看这里: ##核心组件dexcoder-dal使用说明 dexcoder-dal的一些特性:

    jsboot-admin:spring-boot企业项目脚手架

    Redis jwt mybatis / jdbcTemplate任选定时任务内置用户-角色-权限控制多角色免重登切换模块标签页切换免刷新AOP实现多数据源动态切换(分支:multi-datasource)运行截图说明如有任何问题欢迎在问题中讨论

    springboot参考指南

    使用JdbcTemplate iii. 28.3. JPA和Spring Data i. 28.3.1. 实体类 ii. 28.3.2. Spring Data JPA仓库 iii. 28.3.3. 创建和删除JPA数据库 viii. 29. 使用NoSQL技术 i. 29.1. Redis i. 29.1.1. 连接Redis ii. 29.2. ...

    将 Flex 集成到 Java EE 应用程序的最佳实践(完整源代码)

    不过,针对 Java EE 开发的服务器端应用,可以通过集成 BlazeDS,充分利用 AMF 协议并能轻易与 Flex 前端交换数据,这种方式是 Java EE 应用程序集成 Flex 的首选。 BlazeDS 是 Adobe LifeCycle Data Services 的...

    +Flex+集成到+Java+EE+应用程序的最佳实践(完整源代码)

    不过,针对 Java EE 开发的服务器端应用,可以通过集成 BlazeDS,充分利用 AMF 协议并能轻易与 Flex 前端交换数据,这种方式是 Java EE 应用程序集成 Flex 的首选。 BlazeDS 是 Adobe LifeCycle Data Services 的...

    《MyEclipse 6 Java 开发中文教程》前10章

    9.5.7 练习:如何用Hibernate+Struts实现修改用户信息功能? 196 9.6 小结 197 9.7 参考资料 197 第十章 开发Spring应用 198 10.1 简介 198 10.1.1 Spring简介 198 10.1.2 MyEclipse的Spring开发功能简介 200 10.2 ...

Global site tag (gtag.js) - Google Analytics