`

SSH配置多数据源(JDBC连接)

    博客分类:
  • ssh
阅读更多

0.把用到的 JDBC 包导进来

1.创建类DataSourceMap 

 

public class DataSourceMap {  
	public static final String ds1= "ds1";
	
	public static final String ds2= "ds2";
}
 

 

2.创建类CustomerContextHolder 

 

 

import java.util.Map;
import com.FrameWork.db.interf.IDAO;
public class CustomerContextHolder {
	private    Map<String,IDAO> map =null;

	public Map<String, IDAO> getMap() {
		return map;
	}

	public void setMap(Map<String, IDAO> map) {
		this.map = map;
	}
}
 

 

3.配置连接池

 

<!-- 程序自身连接池 -->
	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName"
			value="oracle.jdbc.driver.OracleDriver" />
		<property name="url"
			value="jdbc:oracle:thin:@192.168.1.188:1521:orcl" />
		<property name="username" value="ddd" />
		<property name="password" value="xxxx" />
		<property name="maxActive" value="30" />
		<property name="maxIdle" value="30" />
		<property name="maxWait" value="1000" />
		<property name="defaultAutoCommit" value="true" />
		<property name="removeAbandoned" value="true" />
		<property name="removeAbandonedTimeout" value="60" />
	</bean>
	<!-- sql server 2000 car数据库 -->
	<bean id="dataSource1" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
		<property name="url" value="jdbc:microsoft:sqlserver://192.168.1.109:1433;DatabaseName=car"/>
        <property name="username" value="sa"/>
        <property name="password" value="sa"/>
        <property name="maxActive" value="30"/>
        <property name="maxIdle" value="30"/>
        <property name="maxWait" value="1000"/>
        <property name="defaultAutoCommit" value="true"/>
        <property name="removeAbandoned" value="true"/>
        <property name="removeAbandonedTimeout" value="60"/>
	</bean>
	<!-- sql server 2000 gps数据库 -->
	<bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
		<property name="url" value="jdbc:microsoft:sqlserver://192.168.1.109:1433;DatabaseName=gps"/>
        <property name="username" value="sa"/>
        <property name="password" value="sa"/>
        <property name="maxActive" value="30"/>
        <property name="maxIdle" value="30"/>
        <property name="maxWait" value="1000"/>
        <property name="defaultAutoCommit" value="true"/>
        <property name="removeAbandoned" value="true"/>
        <property name="removeAbandonedTimeout" value="60"/>
	</bean>
 

 

4.设置数据库连接池

 

 

<!-- Generic IDao - can be used when doing standard CRUD-->
	<bean id="idao" class="com.FrameWork.db.impl.DAOImpl">
		<property name="dataSource" ref="dataSource" />
	</bean>
	
	 
	<bean id="idao1" class="com.FrameWork.db.impl.DAOImpl">
		<property name="dataSource" ref="dataSource1" />
	</bean>
	 
	<bean id="idao2" class="com.FrameWork.db.impl.DAOImpl">
		<property name="dataSource" ref="dataSource2" />
	</bean>

 

5.分配连接池

 

 

<!-- Construct Map -->
	<bean id="nameMap" class="java.util.HashMap">
		<constructor-arg>
			<map>
				<entry key="ds1" value-ref="idao1"/>
				<entry key="ds2" value-ref="idao2"/>
			</map>
		</constructor-arg>
	</bean>

	<bean id="customerContextHolder" class="com.FrameWork.dynamicDataSource.CustomerContextHolder">
		<property name="map">
    			<ref bean="nameMap"></ref>
  		</property>
	</bean>

 

6.配置sessionFactory

 

 

<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">  <!-- 这里要注意-->
			<ref bean="dataSource" />
		</property>
		<property name="lobHandler" ref="lobHandler" />
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.Oracle9Dialect
				</prop>

				<!-- 
					<prop key="hibernate.show_sql">true</prop>
					<prop key="hibernate.format_sql">true</prop>
				-->
			</props>

		</property>


		<!--Spring Blob数据类型支持--><!--
			<property name="lobHandler" ref="oracleLobHandler" />
		--><!--hbm.xml映射文件在此处注册-->
		<property name="mappingResources">
			<list>
				<!-- 库房管理  -->
				<value>
					com/czkj/event/wzgl/mapping/TWzDepot.hbm.xml
				</value>
				<value>
					com/czkj/event/wzgl/mapping/TWzCkgly.hbm.xml
				</value>
				....
			</list>
		</property>
	</bean>

 

7.spring 注入

 

 

<!-- 数据同步 -->
	<bean id="synCarImp" class="com.czkj.service.syn.SynCarImp">
		<property name="dynDataSource" ref="customerContextHolder"></property>
		<property name="idao" ref="idao"></property>
		<property name="ihibernatedao" ref="ihibernatedao"></property>
		<property name="sctx" ref="SystemContext"></property>
	</bean>

 

8.java代码调用  类中声明

 

 

// 配置多数据源操作  声明
	private CustomerContextHolder dynDataSource = null;
	public void setDynDataSource(CustomerContextHolder dynDataSource) {
		this.dynDataSource = dynDataSource;
	}
 

9.调用

 

 

public void test(){
		List list = dynDataSource.getMap().get(DataSourceMap.ds2).queryforlist("select * from FuncMain ");
		System.out.println(list);
	}

 

10.完成

 

分享到:
评论

相关推荐

    配置MSSQL数据源连接步骤

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

    ssh框架在application.xml中配置数据源所需jar

    --读取properties资源文件配置,如deploy.properties--&gt; class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt; &lt;value&gt;classpath:/deploy.properties &lt;!--...

    数据源和连接池

    在实际项目的开发中,特别是web应用程序中,如Jsp,Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据方请求必须建立连接,存取数据,关闭连接等步骤,而数据库连接是一种非常昂贵的资源,频繁的建立连接,...

    Hibernate配置各种数据源详解

    Hibernate配置各种数据源 &lt;!– 各属性的配置–&gt; &lt;!—为true表示将Hibernate发送给数据库的sql显示出来 –&gt; ”show_sql”&gt;true &lt;!– SQL方言,这边设定的是MySQL –&gt; ”dialect”&gt;...

    springboot+shardingjdbc+hikari+jpa+KingbaseES V8R6

    1:多租户系统集成 2:集成shardingjdbc分库分表 3:集成shardingjdbc读写分离 4:集成人大金仓数据库 5:重写了JPA-saveandflush方法 6:修复了JPA更新数据为null的问题 7:解压后导入idea,创建数据库即可运行测试

    SSH开发框架总结

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,也可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的...

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

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

    SSH第7章上机.zip ACCP8.0

    加入数据源(DataSource)的配置 &lt;bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"&gt; &lt;property name="driverClass" value="com.mysql.jdbc.Driver"/&gt; ...

    Web开发+java+ssh框架

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端...

    ssh 所用到的jar包

    整合ssh时所用到的jar包,包括Spring Hibernate struts2,以及一些其他的比如数据库jdbc驱动,数据源,日志等

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

    Spring针对几个著名的Web服务器的数据源提供了相应的JDBC抽取器:  •WebLogic:WebLogicNativeJdbcExtractor  •WebSphere:WebSphereNativeJdbcExtractor  •JBoss:JBossNativeJdbcExtractor  在定义了JDBC...

    CDH5.8+Oryx2.2推荐系统环境搭建

    1 安装方式选择(PATH B方式,配置本地yum源安装): 3 2 软件、安装包下载 4 3 安装Oracle JDK1.8(全部主机) 4 4 安装mysql数据库(server60159) 4 5 配置mysql数据库为InnoDB模式 4 6 创建CDH相关数据库 6 7 ...

    JSP+SQL房屋租赁管理信息系统JDBC(源代码+lw).zip

    这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...

    jboss-migration:JBoss WindRide-用于将JBoss AS 5或EAP 5配置迁移到AS 7,WildFly 8或EAP 6的工具

    中止了对Windup项目的支持。 您好移民,这个项目在2015年被Red Hat终止,转而使用一个新的更通用的项目Windup。 有关更多信息,请参见 。 这是什么? 用于将基于JBoss AS 5的服务器的配置迁移到...数据源迁移器 Lo

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    7.6.1 JDBC连接SQLServer2005数据库 76.2 网站用户注册 7.7 疑难解惑 7.7.1 Prepared Statement与Statement 7.7.2 预编译的理解 7.8 精彩回顾 第8章 浅尝辄止 ——初识Struts2 8.1 本章学习任务 8.1.1 本章知识体系...

Global site tag (gtag.js) - Google Analytics