spring資料庫連接配置
❶ 如何用spring 調用資料庫連接使用jdbc
一 ,使用spring的jdbc
1.在myeclipse添加spring jar包,
添加Spring2.5 Core/AOP/ JDBC Library
2.在applicationContext.xml中,配置jdbc bean:
❷ spring 怎麼動態配置 連接不同的資料庫.oracle 或是mysql
不知道你說的動態配置是怎樣的
---------------------------------spring配置文件--------------------------------------------
<!--從根路徑下的db.properties載入數據源信息-->
<context:property-placeholder
ignore-unresolvable="true"location="classpath:db.properties"/>
<!--數據源配置,使用DBCP資料庫連接池-->
<beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<!--ConnectionInfo-->
<propertyname="driverClassName"value="${jdbc.driver}"/>
<propertyname="url"value="${jdbc.url}"/>
<propertyname="username"value="${jdbc.user}"/>
<propertyname="password"value="${jdbc.password}"/>
<propertyname="maxActive"value="${dbcp.maxActive}"/>
<propertyname="maxIdle"value="${dbcp.maxIdle}"/>
<propertyname="timeBetweenEvictionRunsMillis"value="3600000"/>
<propertyname="minEvictableIdleTimeMillis"value="3600000"/>
</bean>
-------------------------------------db.properties--------------------------------------
java">//把driver改成oracle的,下面也相應改成oracle的信息就能把數據源設置為oracle
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://172.19.0.127:8066/addl
jdbc.user=root
jdbc.password=
dbcp.maxActive=10
dbcp.maxIdle=10
❸ spring 怎麼動態配置 連接不同的資料庫。oracle 或是mysql
這個在spring的 applicationComtext.xml文件里配置(一般是這個文件 你也可以把他改為其他文件名),
#
hibernate.dialect=org.hibernate.dialect.OracleDialect
validationQuery.oracle=SELECT1FROMDUAL
jdbc.url.crm=jdbc:oracle:thin:@localhost:1521:orcl
jdbc.username.crm=crm
jdbc.password.crm=crm
jdbc.dbType=oracle
#
#hibernate.dialect=org.hibernate.dialect.MySQLDialect
#validationQuery.sqlserver=SELECT1
#jdbc.url.crm=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
#jdbc.username.crm=root
#jdbc.password.crm=root
#jdbc.dbType=mysql
//配置數據源
<beanid="dbcp_dataSource"destroy-method="close"class="org.apache.commons.dbcp.BasicDataSource">
<propertyname="driverClassName"value="${jdbc.driverClassName}"/>
<propertyname="url"value="${jdbc.url.crm}"/>
<propertyname="username"value="${jdbc.username.crm}"/>
<propertyname="password"value="${jdbc.password.crm}"/>
</bean>-->
在這里你可以多配置幾個數據源
。。。。
然後就可以動態的修改數據源集合了
<beanid="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<propertyname="dataSource"ref="dbcp_dataSource"/>
<!--ORM映射文件:mappingResources-->
<!--ORM目錄-->
<propertyname="mappingDirectoryLocations">
<value>classpath:com/zakhas/ospm/model/hbm/</value>
</property>
這里的dbcp_dataSource是我的oracle資料庫,你可以在這里切換其他的資料庫。
因為涉及到一些項目,我做了些改動,可能有些錯誤,不知道你看懂了啵
❹ java spring框架資料庫連接池配置
dhcp.defaultAutoCommit=false //配置事務是否自動提交的
dhcp.removeAbandoned=true //設置連接是否能根據連接時間自動斷開
dhcp.removeAbandonedTimeout=60 //連接時間
dhcp.logAbandoned=true //是否對連接情況進行日誌記錄
這些東西去看看api就行了,掌握學習的方法。
❺ java中spring配置中連接資料庫的代碼怎麼寫
<!-- 配置數據源 -->
<bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://192.168.2.100:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<!-- 配置SessionFactory並注入其依賴的數據源 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" /><!-- 注入一個數據源 -->
</property>
<!-- 配置Hibernate的屬性 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<!-- 配置hibernate自動載入持久化映射文件 -->
<property name="mappingResources">
<list>
<value>domain/Person.hbm.xml</value></list>
</property>
</bean>
❻ Spring中如何配置多個資料庫連接
1.解決方案:
property name="<.commons; value=" value="close".properties文件
2.配置多個資料庫:
jdbc;minEvictableIdleTimeMillis"driverClassName".maxActive}" /
password}".url}"${jdbc;>.driver;3600000"maxActive";>${jdbc.driver}"
/username"${dbcp;
</ value=".dbcp;url".BasicDataSource"
< value="bean id=".username}"
< value="
<>password"${dbcp;org.;dataSource"false" /
<property name=" destroy-method="3600000"
application;property name=" class=",property name="
< value=">.apache; value=" /property name=">
<${jdbc;property name="property name=">.;
❼ 連接兩個資料庫 spring配置文件怎麼配置
配置多個數據源信息,比如dataSource1, dataSource2, dataSource3等等。 自定義一個動態數據源類,同時注入以上這些數據源以及相應的標志,一般用Map區分 利用動態數據源類來拿到相應的數據源操作
❽ Spring配置DBCP資料庫連接池
<!-- 數據源配置,使用應用內的DBCP資料庫連接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="${datasource.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- Connection Pooling Info -->
<property name="initialSize" value="5" />
<property name="maxActive" value="100" />
<property name="maxIdle" value="30" />
<property name="maxWait" value="1000" />
<property name="poolPreparedStatements" value="true" />
<property name="defaultAutoCommit" value="false" />
</bean>
❾ Spring配置文件中怎麼配置資料庫連接
xml配置文件中配置如下:
Java代碼 收藏代碼
<spring:bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<spring:property name="locations">
<spring:list>
<spring:value>classpath:conf/jdbc.properties</spring:value>
</spring:list>
</spring:property>
</spring:bean>
<spring:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<spring:property name="driverClassName"
value="${jdbc.driverClassName}" />
<spring:property name="url"
value="${jdbc.url}" />
<spring:property name="username" value="${jdbc.username}" />
<spring:property name="password" value="${jdbc.password}" />
<spring:property name="maxActive" value="30" />
<spring:property name="maxIdle" value="10" />
<spring:property name="maxWait" value="1000" />
<spring:property name="defaultAutoCommit" value="true" />
</spring:bean>
jdbc.properties配置文件中連接資料庫配置:
Java代碼 收藏代碼
#sqlserver數據源配置
jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://192.168.1.60:1408;DatabaseName=test
jdbc.username=sa
jdbc.password=1
#mysql數據源配置
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.1.60:3306/test
jdbc.username=root
jdbc.password=root
#Oracle數據源配置
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@10.60.17.9:1521:orcl
jdbc.username=admin
jdbc.password=admin
❿ spring中配置MySql數據源,怎樣配置資料庫信息
spring中配置數據源的幾種常見方式:
#mysql 資料庫配置(jdbc.properties)
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/databaseName?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root
1.使用spring自帶的數據源org.springframework.jdbc.datasource.DriverManagerDataSource;
方式一:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="/WEB-INF/jdbc.properties" />
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}" />
p標記需要:xmlns:p="http://www.springframework.org/schema/p"
DriverManagerDataSource源碼實現:
public class DriverManagerDataSource extends AbstractDriverBasedDataSource {
public DriverManagerDataSource() {
}
public DriverManagerDataSource(String url) {
}
public DriverManagerDataSource(String url, String username, String password) {
}
public DriverManagerDataSource(String url, Properties conProps) {
}
public void setDriverClassName(String driverClassName) {
}
protected Connection getConnectionFromDriver(Properties props) throws SQLException {
}
protected Connection (String url, Properties props) throws SQLException {
}
}
方式二:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
2.DBCP數據源;
DBCP(DataBase connection pool)。是 apache 上的一個 java 連接池項目,也是 tomcat 使用的連接池組件。單獨使用dbcp需要2個包:commons-dbcp.jar,commons-pool.jar由於建立資料庫連接是一個非常耗時耗資源的行為,所以通過連接池預先同資料庫建立一些連接,放在內存中,應用程序需要建立資料庫連接時直接到連接池中申請一個就行,用完後再放回去。
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
DBCP實現:
class JdbcUtil
{
private static BasicDataSource bds;
static
{
if(bds==null)
{
bds= new BasicDataSource();
}
//分別設置資料庫的連接參數
bds.setDriverClassName();
bds.setUrl();
bds.setUsername();
bds.setPassword();
}
public static Connection getConnection()
{
return bds.getConnection();
}
3.C3P0數據源;
C3P0是一個開源的JDBC連接池,它實現了數據源和JNDI綁定,支持JDBC3規范和JDBC2的標准擴展。目前使用它的有Hibernate,Spring等。
依賴jar包:c3p0-0.9.1.jar、c3p0-0.9.1.2.jar、c3p0-0.9.1-pre6.jar
c3p0與dbcp區別:
dbcp沒有自動回收空閑連接的功能
c3p0有自動回收空閑連接功能
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass"><value>oracle.jdbc.driver.OracleDriver</value></property>
<property name="jdbcUrl"><value>jdbc:oracle:thin:@localhost:1521:Test</value></property>
<property name="user"><value>root</value></property>
<property name="password"><value>root</value></property>
<!--連接池中保留的最小連接數。-->
<property name="minPoolSize" value="10" />
<!--連接池中保留的最大連接數。Default: 15 -->
<property name="maxPoolSize" value="100" />
<!--最大空閑時間,1800秒內未使用則連接被丟棄。若為0則永不丟棄。Default: 0 -->
<property name="maxIdleTime" value="1800" />
<!--當連接池中的連接耗盡的時候c3p0一次同時獲取的連接數。Default: 3 -->
<property name="acquireIncrement" value="3" />
<property name="maxStatements" value="1000" />
<property name="initialPoolSize" value="10" />
<!--每60秒檢查所有連接池中的空閑連接。Default: 0 -->
<property name="idleConnectionTestPeriod" value="60" />
<!--定義在從資料庫獲取新連接失敗後重復嘗試的次數。Default: 30 -->
<property name="acquireRetryAttempts" value="30" />
<property name="breakAfterAcquireFailure" value="true" />
<property name="testConnectionOnCheckout" value="false" />
</bean>
4.JNDI數據源;
如果應用配置在高性能的應用伺服器(如WebLogic或Websphere等)上,我們可能更希望使用應用伺服器本身
提供的數據源。應用伺服器的數據源 使用JNDI開放調用者使用,Spring為此專門提供引用JNDI資源的
JndiObjectFactoryBean類。下面是一個簡單的配置:
方式一:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/bbt"/>
</bean>
value值即JNDI的名稱
方式二:
<bean id="queueTarget" class="org.springframework.jndi.JndiObjectTargetSource">
<property name="jndiName">
<value>queue/testQueue</value>
</property>
</bean>
方式三:
如果不使用JndiTemplate實現InitialContext環境變數的配置,則需要jndi.properties文件(放在classpath中,一般放在src下面),內容如下
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
方式四:
使用JndiTemplate實現InitialContext環境變數的配置,例如
<bean id="queueTarget" class="org.springframework.jndi.JndiObjectTargetSource">
<property name="jndiName">
<value>queue/testQueue</value>
</property>
<property name="jndiTemplate">
<ref local="jndiTemplate"/>
</property>
</bean>
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="java.naming.provider.url">jnp://localhost:1099</prop>
<prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
</props>
</property>
</bean>