JDBC URL格式及其參數(shù)說明 oracle mysql
oracle jdbc urljdbc:oracle:driver_type:[username/password]@database_specifier
drive_type有thin和oci
如:
jdbc:oracle:thin:@localhost:1521:my_db
mysql JDBC URL格式及其參數(shù)說明mysql JDBC URL格式如下:
jdbc:mysql://[host:port],[host:port].../[database][?參數(shù)名1][=參數(shù)值1][&參數(shù)名2][=參數(shù)值2]...
常用的幾個(gè)較為重要的參數(shù):
參數(shù)名稱 參數(shù)說明 缺省值 最低版本要求
user 數(shù)據(jù)庫用戶名(用于連接數(shù)據(jù)庫) 所有版本
password 用戶密碼(用于連接數(shù)據(jù)庫) 所有版本
useUnicode 是否使用Unicode字符集,如果參數(shù)characterEncoding設(shè)置為gb2312或gbk,本參數(shù)值必須設(shè)置為true false 1.1g
characterEncoding 當(dāng)useUnicode設(shè)置為true時(shí),指定字符編碼。比如可設(shè)置為gb2312或gbk false 1.1g
autoReconnect 當(dāng)數(shù)據(jù)庫連接異常中斷時(shí),是否自動(dòng)重新連接? false 1.1
autoReconnectForPools 是否使用針對(duì)數(shù)據(jù)庫連接池的重連策略 false 3.1.3
failOverReadOnly 自動(dòng)重連成功后,連接是否設(shè)置為只讀? true 3.0.12
maxReconnects autoReconnect設(shè)置為true時(shí),重試連接的次數(shù) 3 1.1
initialTimeout autoReconnect設(shè)置為true時(shí),兩次重連之間的時(shí)間間隔,單位:秒 2 1.1
connectTimeout 和數(shù)據(jù)庫服務(wù)器建立socket連接時(shí)的超時(shí),單位:毫秒。 0表示永不超時(shí),適用于JDK 1.4及更高版本 0 3.0.1
socketTimeout socket操作(讀寫)超時(shí),單位:毫秒。 0表示永不超時(shí) 0 3.0.1
對(duì)應(yīng)中文環(huán)境,通常mysql連接URL可以設(shè)置為:
jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false
在使用數(shù)據(jù)庫連接池的情況下,最好設(shè)置如下兩個(gè)參數(shù):
autoReconnect=true&failOverReadOnly=false
需要注意的是,在xml配置文件中,url中的&符號(hào)需要轉(zhuǎn)義成&。比如在tomcat的server.xml中配置數(shù)據(jù)庫連接池時(shí),mysql jdbc url樣例如下:
jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="
xmlns:xsi="
xsi:schemaLocation="
http://www.springframework.org/schema/beans default-autowire="autodetect">
<!-- -->
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="driverUrl" value="jdbc:oracle:thin:shina/shina@192.168.0.136:1521:orcl" />
<property name="alias" value="proxool" />
<property name="user" value="shina"/>
<property name="password" value="shina"/>
<property name="minimumConnectionCount" value="200" />
<property name="maximumConnectionCount" value="1000" />
<property name="maximumActiveTime" value="980000" />
</bean>
<!--
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="driverUrl" value="jdbc:sqlserver://192.168.0.254:1433;databaseName=shina;user=sa;password=1234" />
<property name="alias" value="proxool" />
<property name="user" value="sa"/>
<property name="password" value="1234"/>
<property name="minimumConnectionCount" value="200" />
<property name="maximumConnectionCount" value="1000" />
<property name="maximumActiveTime" value="980000" />
</bean>
-->
<!--
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="driverUrl" value="jdbc:mysql://localhost:3306/qiche315_test?user=root&password=root&useUnicode=true&characterEncoding=utf8&autoReconnect=true" />
<property name="user" value="root" />
<property name="password" value="root" />
<property name="minimumConnectionCount" value="2" />
<property name="maximumConnectionCount" value="10" />
</bean>
-->
<!--
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/qiche315_test" />
<property name="user" value="root" />
<property name="password" value="root" />
<property name="minPoolSize" value="2" />
<property name="maxPoolSize" value="10" />
<property name="maxIdleTime"><value>1800</value></property>
<property name="acquireIncrement"><value>2</value></property>
<property name="maxStatements"><value>0</value></property>
<property name="initialPoolSize"><value>2</value></property>
<property name="idleConnectionTestPeriod"><value>1800</value></property>
<property name="acquireRetryAttempts"><value>30</value></property>
<property name="breakAfterAcquireFailure"><value>true</value></property>
<property name="testConnectionOnCheckout"><value>false</value></property>
</bean>
-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
<!-- 首頁 企業(yè)管理知識(shí) -->
<!--
<bean id="enterpriseKnowledgeAction" class="shina.index.enterpriseKnowledge.EnterpriseKnowledgeAction" scope="session" />
<bean id="enterpriseKnowledgeService" class="shina.index.enterpriseKnowledge.EnterpriseKnowledgeService" />
-->
</beans>