Spring+Hibernate配置多数据源

 

配置说明

         在实际应用中,经常会用到读写分离,这里就这种情况进行Spring+Hibernate的多数据源配置。此处的配置只是让读的方法操作一个数据库,写的方法操作另外一个数据库。

         注:我这里的配置JDBC连接是放在properties文件中的,当然你也可以直接写在ApplicationCpntext.xml文件中或其他的配置方式。

配置步骤

1、配置多数据库

jdbc.Properties中,配置两个数据库的连接。在此处的例子如下(我这里都是使用的MySql,如果要使用其他的请更换驱动):

 

## MySQL local jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url= jdbc:mysql://localhost:3306/数据库名?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull jdbc.username=root jdbc.password=root ## MySql Server jdbc_t.driverClassName=com.mysql.jdbc.Driver jdbc_t.url= jdbc:mysql://服务器Ip:3306/数据库名(可以和上面不一样的)?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull jdbc_t.username=root jdbc_t.password= root 

 

注:jdbc.driverClassNamejdbc_t.driverClassName都可以使用jdbc.driverClassName的,如果使用一个则在后面的ApplicationContext.xml中配置一样的就可以了,这里为了方便说明,分开写。同理,如果用户名和密码都一样,也可以只用一个配置就可以了。

 

 

2、配置DataSource

这里使用的是DBCP连接池。

 

 

 

注:id不能重复,所以后面的使用了dataSource_tdataSource以区别,这样才能区分使用的是那一个数据库。如果上面的driverClassName配置一样,你可以不用配置jdbc_t.driverClassName,都用jdbc.driverClassName即可。

3、配置sessionFactory

请注意标红加粗的地方:

 

  classpath:hibernate.cfg.xml classpath: hibernate_t.cfg.xml  

 

注:hibernate.cfg.xmlhibernate_t.cfg.xml可以根据实际情况看看是否应该区别开。也可以共用一份。

 

4、配置DAO

在需要使用本地的数据库的时候(对于你的项目,不一定是本地),就如下配置:

需要使用服务器的数据库时,如下配置:

 

当然你也可以配置多个,根据需要多加配置即可。

 

你可能感兴趣的:(Spring+Hibernate配置多数据源)