SSH配置多个数据源
1. 编写hibernate的数据库配置文
Mysql_hibernate.cfg.xml代码
1.<?xml version='1.0' encoding='UTF-8'?>
2.<!DOCTYPE hibernate-configuration PUBLIC
3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
4.
5.<hibernate-configuration>
6. <session-factory>
7. <property name="show_sql">true</property>
8. <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
9. <property name="connection.url">jdbc:mysql://172.16.11.9:3306/mytest?useUnicode=true&characterEncoding=utf-8</property>
10. <property name="connection.username">root</property>
11. <property name="connection.password">rootroot</property>
12.
13. <property name="hibernate.c3p0.max_size">20</property>
14. <property name="hibernate.c3p0.min_size">1</property>
15. <property name="hibernate.c3p0.timeout">5000</property>
16. <property name="hibernate.c3p0.max_statements">100</property>
17. <property name="hibernate.c3p0.idle_test_period">3000</property>
18. <property name="hibernate.c3p0.acquire_increment">2</property>
19. <!--
20. <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
21. -->
22. <property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
23. <property name="hbm2ddl.auto">create</property>
24.
25. <property name="hibernate.current_session_context_class">thread</property>
26.
27.
28. <mapping resource="com/test/bean/User.hbm.xml"/>
29. </session-factory>
30.</hibernate-configuration>
Sqlserver_hibernate.cfg.xml代码
1.<?xml version='1.0' encoding='UTF-8'?>
2.<!DOCTYPE hibernate-configuration PUBLIC
3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
4. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
5.
6.<hibernate-configuration>
7. <session-factory>
8. <property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
9. <property name="connection.url">jdbc:microsoft:sqlserver://172.16.11.20:1433;DatabaseName=new_cmcc;SelectMethod=cursor</property>
10. <property name="connection.username">sa</property>
11. <property name="connection.password">111</property>
12. <property name="connection.pool_size">100</property>
13. <property name="show_sql">true</property>
14. <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
15.
16. <mapping resource="com/test/bean/User.hbm.xml"/>
17. </session-factory>
18.</hibernate-configuration>
Oracle_hibernate.cfg.xml代码
1.<?xml version='1.0' encoding='UTF-8'?>
2.<!DOCTYPE hibernate-configuration PUBLIC
3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
4. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
5.
6.<hibernate-configuration>
7. <session-factory>
8. <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
9. <property name="connection.url">jdbc:oracle:thin:@172.16.11.14:1521:epip</property>
10. <property name="connection.username">capitel</property>
11. <property name="connection.password">123456</property>
12. <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
13. <property name="show_sql">false</property>
14.
15. <mapping resource="com/test/bean/User.hbm.xml"/>
16. </session-factory>
17.</hibernate-configuration>
2. 在spring配置文件(applicationContext.xml)中配置Hibernate数据源(以测试过的三个数据库oralce,mysql,server sql为例)
Applicationcontext.xml代码
1.<!-- My Sql -->
2.<bean id="mySqlSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
3. <property name="configLocation">
4. <value>WEB-INF/classes/mysql_hibernate.cfg.xml</value>
5. </property>
6.</bean>
7.<bean id="mySqlTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
8. <property name="sessionFactory">
9. <ref local="mySqlSessionFactory" />
10. </property>
11.</bean>
12.
13.<!-- SQL Server -->
14.<bean id="sqlServerSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
15. <property name="configLocation">
16. <value>WEB-INF/classes/sqlserver_hibernate.cfg.xml</value>
17. </property>
18.</bean>
19.<bean id="sqlServerTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
20. <property name="sessionFactory">
21. <ref local="sqlServerSessionFactory" />
22. </property>
23.</bean>
24.
25.<!-- Oracle -->
26.<bean id="oracleSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
27. <property name="configLocation">
28. <value>WEB-INF/classes/oracle_hibernate.cfg.xml</value>
29. </property>
30.</bean>
31.<bean id="oracleTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
32. <property name="sessionFactory">
33. <ref local="oracleSessionFactory" />
34. </property>
35.</bean>
3. 在spring配置文件(applicationContext.xml)中配置spring的事务拦截器(AOP):
Applicationcontext.xml代码
1.<!--1、mysql数据源 事务管理拦截器-->
2. <tx:advice id="mySqlTxAdvice" transaction-manager="mySqlTransactionManager">
3. <tx:attributes>
4. <tx:method name="find*" read-only="true"/>
5. <tx:method name="get*" read-only="true"/>
6. <tx:method name="notx*" propagation="NEVER"/>
7. <tx:method name="*" rollback-for="自定义Exception"/>
8. </tx:attributes>
9. </tx:advice>
10.<!--2、sqlserver数据源 事务管理拦截器 -->
11. <tx:advice id="sqlServerTxAdvice" transaction-manager="sqlServerTransactionManager">
12. <tx:attributes>
13. <tx:method name="find*" read-only="true"/>
14. <tx:method name="get*" read-only="true"/>
15. <tx:method name="notx*" propagation="NEVER"/>
16. <tx:method name="*" rollback-for="自定义Exception"/>
17. </tx:attributes>
18. </tx:advice>
19.
20.<!--3、oracle数据源 事务管理拦截器-->
21. <tx:advice id="oracleTxAdvice" transaction-manager="oracleTransactionManager">
22. <tx:attributes>
23. <tx:method name="find*" read-only="true"/>
24. <tx:method name="get*" read-only="true"/>
25. <tx:method name="notx*" propagation="NEVER"/>
26. <tx:method name="*" rollback-for="自定义Exception"/>
27. </tx:attributes>
28. </tx:advice>
29.
30.<!--配置多数据源的事务拦截器-->
31. <bean id="serviceAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
32. <property name="beanNames">
33. <list>
34. <value>*Service</value>
35. </list>
36. </property>
37. <property name="interceptorNames">
38. <list>
39. <value>mySqlTxAdvice</value>
40. <value>sqlServerTxAdvice</value>
41. <value>oracleTxAdvice</value>
42. </list>
43. </property>
44.</bean>
4. DAO需要使用哪个数据,就配置相应的sessionFactory,如:
Java代码
1. <bean id="userDao" class="com.test.dao.impl.UserDAOImpl" scope="singleton">
2. <property name="sessionFactory">
3. <ref bean="oracleSessionFactory"/>
4. </property>
5.</bean>
6.
7.<bean id="emplyDAO" class=" com.test.dao.dao.impl.Pb_EmplyDAOImpl" scope="singleton">
8. <property name="sessionFactory">
9. <ref bean="mySqlSessionFactory"/>
10. </property>
11.</bean>
分享到:
相关推荐
SSH配置多个数据源 SSH配置多个数据源 SSH配置多个数据源 配置说明文档
该配置文件连接的是两个数据库结构相同的数据源,其他比如数据库结构不原理也可行。本人在遇到此问题时上网搜了很多答案结果都不怎么如意,有的太深奥不过思想很好,有的又太不给力,后来自己慢慢研究配置成功后想与...
配置MSSQL数据源连接步骤 [很卡,设置下了分辨率了] 1.打开MSSQL ,首先确定你这MSSQL是否为启动状态,从这看,应该是没有启动的 那好,现在启动SQL 好,现在已经启动 2.配置数据源 开始->控制面版->性能和维护...
首先,这个方案完全是在spring的框架下解决的,数据源依然配置在spring的配置文件中,sessionFactory依然去配置它的dataSource属性,它甚至都不知道dataSource的改变。 其次,实现简单,易于维护。这个方案虽然我说...
5.8 GaussDB(DWS)/MySQL/SQL Server 的数据如何导入/迁移到GaussDB(DWS)(整库迁移)? 5.9 Oracle 数据如何导入/迁移到GaussDB(DWS)? 5.10 GDS 导入数据时是否支持使用公网/外网导入? 6 帐户、密码、权限 6.1 ...
3、读取并解析映射信息,创建SessionFactory(相当于创建了数据源(DataSource)对象);4、创建Session对象,打开session(相当于JDBC获得数据库的连接);5、开始一个事务并持久化操作;6、结束事务后关闭session...
(例如,一个持久性类不能映射到多个表)其独有的界面和可怜的市场份额也让人不安,尽管如此,Hibernate 还是以其强大的发展动力减轻了 这些风险。其他的开源持久性框架也有一些,不过都没有 Hibernate 这样有市场...
第3~9行定义了一个数据源,其实现类是apache的BasicDataSource,第11~25行定义了Hibernate的会话工厂,会话工厂类用Spring提供的LocalSessionFactoryBean维护,它注入了数据源和资源映射文件,此外还通过一些键值对...
在实际开发中,为了降低耦合性,提高代码复用性,我们一般会将web层与service分开...因为需要配置数据源,但是最终我们是需要student和teacher都依赖schoolservice的,如果我们将数据源配置写在controller层需要在每一
神州数码POE典型配置涉及到多个重要的网络技术和概念,如VLAN、SVI、Trunk模式、Native VLAN、认证和授权、SSH服务器和Telnet服务器等。这些技术和概念都是网络管理员和工程师必须掌握的重要知识点。
解决这个问题需要从多方面入手,包括配置 Hibernate 的连接参数、修改 Spring 里的数据库连接、配置 encodingFilter 过滤器、 MySQL 库表编码和 JSP 页面编码形式等。 首先,在 Hibernate 的配置文件 hibernate.cfg...
本资源主要介绍了Hadoop、Zookeeper、Hive、HBase的安装和配置过程,涵盖了从Java环境变量的配置到Hadoop的安装和配置、Zookeeper的安装和配置、Hive的安装和配置、HBase的安装和配置等多个方面。 第一部分:Hadoop...
SecureCRT将终端仿真程序同Secure Shell协议的强加密功能、多种认证选项和...SecureCRT采用了一个密码库,符合FIPS 140-2 加密需求,通过 X.509 数字认证提高了认证能力,可以轻松启动多个会话,改进了SSH代理功能。
Hibernate是一个开放源代码的对象关系映射(ORM)工具,旨在简化Java应用程序中的数据持久性问题。Hibernate提供了一个自动的对象关系映射机制,可以将Java对象自动映射到数据库表中,从而简化了数据持久性问题。 ...
双主多从是指将两个 Mysql 服务器配置为主服务器,并将多个从服务器连接到这两个主服务器上,以实现高可用性和负载均衡。配置双主多从需要在 my.cnf 文件中添加以下内容: [mysqld] server-id = 1 log-bin = /var/...