共分spring容器自带连接池、项目中创建连接池、服务器创建连接池三种 scL7PxJ5
xNxIqq<k
1、spring容器自带连接池 k1-?2kf"{
?\hXJih
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> B5B'H3@
<property name="driverClassName"> oF
V9t{~j
<value>com.mysql.jdbc.Driver</value> [W{`L_"
</property> x+yt|
&B
<property name="url"> Q'~;RE%T
<value>jdbc:mysql://127.0.0.1:3306/test</value> AH=6xtS-
</property> u#=N8
<property name="username"> IRo[|&c
<value>admin</value> 0]>p|m9K^<
</property> V^L;Nw5h
<property name="password"> HdWghxz?)
<value/> =#%e'\)a
</property> aKCCFHq t!
</bean> WlZ[9,:p1
^r;}6
2、项目中创建连接池(一般利用开源项目) |7%$+g
Y!&dj95y
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> >47,Hq:2
<property name="driverClassName"> uX}M0W
<value>com.mysql.jdbc.Driver</value> by6E
"7%
</property> `5 e#9@/e
<property name="url"> NqqLRgMOR'
<value>jdbc:mysql://127.0.0.1:3306/test</value> _rjCwo\
</property> |k
4+I
<property name="username"> >>^c_ 0"O
<value>admin</value> oF,8j1
</property> (:T~*7/"
<property name="password"> Kq!n`@
<value/> DU1,i&(
</property> !JYDg
</bean> [U3z*m>e;
s?%1/&.~
3、应用服务器创建数据源,项目中通过jndi访问,以tomcat为例 j-{WPJa4\
T/S-}|fhQ
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> ,u]kZ ]
<property name="jndiName"> J_P2% b=C
<value>java:comp/env/jdbc/TestDB</value> 4TR:bQZs
</property> 6dq U4
</bean> )sNtwSl^
$$qhX]^~
注意每种容器的jndi写法不同,所以java:comp/env/jdbc/TestDB为其全称,但在配置jndi时可能会是其中一部分,如tomcat配置jdbc/TestDB J)g(Nw,O
_5y)m5I
配置错误会报javax.naming.NameNotFoundException: Name jdbc is not bound in this Context异常