`
高级java工程师
  • 浏览: 400001 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ssh配置多个数据源

    博客分类:
  • SSH
 
阅读更多
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&amp;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配置多个数据源 SSH配置多个数据源 配置说明文档

    针对SSH框架Spring管理Hibernate连接多个数据源配置文件

    该配置文件连接的是两个数据库结构相同的数据源,其他比如数据库结构不原理也可行。本人在遇到此问题时上网搜了很多答案结果都不怎么如意,有的太深奥不过思想很好,有的又太不给力,后来自己慢慢研究配置成功后想与...

    配置MSSQL数据源连接步骤

    配置MSSQL数据源连接步骤 [很卡,设置下了分辨率了] 1.打开MSSQL ,首先确定你这MSSQL是否为启动状态,从这看,应该是没有启动的 那好,现在启动SQL 好,现在已经启动 2.配置数据源 开始-&gt;控制面版-&gt;性能和维护...

    spring框架多数据源切换问题的解决

    首先,这个方案完全是在spring的框架下解决的,数据源依然配置在spring的配置文件中,sessionFactory依然去配置它的dataSource属性,它甚至都不知道dataSource的改变。 其次,实现简单,易于维护。这个方案虽然我说...

    2021数据仓库服务常见问题汇总-华为-51页.pdf

    5.8 GaussDB(DWS)/MySQL/SQL Server 的数据如何导入/迁移到GaussDB(DWS)(整库迁移)? 5.9 Oracle 数据如何导入/迁移到GaussDB(DWS)? 5.10 GDS 导入数据时是否支持使用公网/外网导入? 6 帐户、密码、权限 6.1 ...

    SSH-Jsp期末考试简答题带答案

    3、读取并解析映射信息,创建SessionFactory(相当于创建了数据源(DataSource)对象);4、创建Session对象,打开session(相当于JDBC获得数据库的连接);5、开始一个事务并持久化操作;6、结束事务后关闭session...

    Web开发+java+ssh框架

    (例如,一个持久性类不能映射到多个表)其独有的界面和可怜的市场份额也让人不安,尽管如此,Hibernate 还是以其强大的发展动力减轻了 这些风险。其他的开源持久性框架也有一些,不过都没有 Hibernate 这样有市场...

    ssh(structs,spring,hibernate)框架中的上传下载

    第3~9行定义了一个数据源,其实现类是apache的BasicDataSource,第11~25行定义了Hibernate的会话工厂,会话工厂类用Spring提供的LocalSessionFactoryBean维护,它注入了数据源和资源映射文件,此外还通过一些键值对...

    基于SpringBoot的移动ssh项目(源码)

    在实际开发中,为了降低耦合性,提高代码复用性,我们一般会将web层与service分开...因为需要配置数据源,但是最终我们是需要student和teacher都依赖schoolservice的,如果我们将数据源配置写在controller层需要在每一

    神州数码POE典型配置

    神州数码POE典型配置涉及到多个重要的网络技术和概念,如VLAN、SVI、Trunk模式、Native VLAN、认证和授权、SSH服务器和Telnet服务器等。这些技术和概念都是网络管理员和工程师必须掌握的重要知识点。

    SSH下mysql中文乱码问题.docx

    解决这个问题需要从多方面入手,包括配置 Hibernate 的连接参数、修改 Spring 里的数据库连接、配置 encodingFilter 过滤器、 MySQL 库表编码和 JSP 页面编码形式等。 首先,在 Hibernate 的配置文件 hibernate.cfg...

    hadoop + zookeeper +hive + hbase安装学习共12页word资料.pdf

    本资源主要介绍了Hadoop、Zookeeper、Hive、HBase的安装和配置过程,涵盖了从Java环境变量的配置到Hadoop的安装和配置、Zookeeper的安装和配置、Hive的安装和配置、HBase的安装和配置等多个方面。 第一部分:Hadoop...

    SecureCRT串口网口调试工具绿色免安装

    SecureCRT将终端仿真程序同Secure Shell协议的强加密功能、多种认证选项和...SecureCRT采用了一个密码库,符合FIPS 140-2 加密需求,通过 X.509 数字认证提高了认证能力,可以轻松启动多个会话,改进了SSH代理功能。

    (完整word)综合案例-基于SSH框架的农家乐网站的设计与实现..doc

    Hibernate是一个开放源代码的对象关系映射(ORM)工具,旨在简化Java应用程序中的数据持久性问题。Hibernate提供了一个自动的对象关系映射机制,可以将Java对象自动映射到数据库表中,从而简化了数据持久性问题。 ...

    CentOs7下mysql5.7的下载安装以及主从同步、双主多从配置详情

    双主多从是指将两个 Mysql 服务器配置为主服务器,并将多个从服务器连接到这两个主服务器上,以实现高可用性和负载均衡。配置双主多从需要在 my.cnf 文件中添加以下内容: [mysqld] server-id = 1 log-bin = /var/...

Global site tag (gtag.js) - Google Analytics