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>