datasource配置方式:
- 1. 在hibernate.cfg.xml文件中配置
- 2. 在xxx.properties文件中配置
- 3. 在applicationContext.xml中直接寫
- 4. 通過JNDI從服務器上獲取
如圖:
第一種方式:在hibernate.cfg.xml文件中配置
<session-factory>
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:johnhuang</property>
<property name="connection.username">hxxA</property>
<property name="connection.password">778899</property>
<property name="connection.driver_class">oracle.jdbc.OracleDriver</property>
.........
</session-factory>
第二種方式:在xxx.properties文件中配置 ,下面代碼是c3p0配置在jdbc.propreties中,在applicationContext.xml中讀取方式。
<!-- 上下文讀取外部properties配置文件 -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- c3p0配置 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.properties的key值}"></property>
<property name="jdbcUrl" value="${}"></property>
<property name="user" value="${}"></property>
<property name="password" value="${}"></property>
<property name="maxPoolSize" value="${}"></property>
<property name="minPoolSize" value="${}"></property>
<property name="checkoutTimeout" value="${}"></property>
</bean>
第三種方式:在applicationContext.xml中直接寫,下面代碼是在dbcp配置
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:johnhuang"></property>
<property name="password" value="778899"></property>
<property name="username" value="hxxA"></property>
<property name="maxActive" value="100"></property>
<property name="maxIdle" value="10"></property> <!-- 最大空閒連接數 -->
<property name="maxWait" value="10000"></property> <!-- z最大等待時間 毫秒 -->
</bean>
上面讀取配置文件方式也可以按下圖讀取:
第四種方式: 通過JNDI從服務器上獲取
A->在tomcat根目錄\conf\context.xml裏的Context節點中添加以下配置
<Resource
name="jcptDataSourceJNDI"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="hxxA"
password="778899"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:johnhuang"/>
B->在spring中使用 jcptDataSourceJNDI,名字可以隨便改但是上下要一致
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jcptDataSourceJNDI"></property>
</bean>