共分spring容器自带连接池、项目中创建连接池、服务器创建连接池三种 JE.s?k
B`<K]ut
1、spring容器自带连接池 rWB/#m
Dk`(Wgk2
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> r:Rk!z*
<property name="driverClassName"> }:a:E~5y
<value>com.mysql.jdbc.Driver</value> 8[xl3=
</property> EgT?Hvx:
<property name="url"> @Lf-=9
<value>jdbc:mysql://127.0.0.1:3306/test</value> g<$q#l~4xH
</property> TQg~I/
<property name="username"> $c<NEt_\
<value>admin</value> U[t/40W}P
</property> xb~8uD5
<property name="password"> |Y&&g=7
<value/> j0+l-]F-
</property> E|v9khN(].
</bean> Kk9W=vd
p?XVO#
2、项目中创建连接池(一般利用开源项目) (N
:vDq'
A9\(vxxOpC
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> W 2.Ap
<property name="driverClassName"> o-_H+p6a
<value>com.mysql.jdbc.Driver</value> 7F @#6
</property> tzV^.QWm
<property name="url"> 9B<aYp)
<value>jdbc:mysql://127.0.0.1:3306/test</value> dNfME*"yN
</property> 38l 8n.
<property name="username"> kx31g,cf]w
<value>admin</value> 'sT7t&v~
</property> FEwPLViso
<property name="password"> ;"Q.c#pA$g
<value/> oK#UEn
</property> %29lDd(<
</bean> B
EB[K2[9
|Pj]sh[^Y
3、应用服务器创建数据源,项目中通过jndi访问,以tomcat为例 AD^Q`7K?uR
!$L~/<&0g
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> FH7h?!|t
<property name="jndiName"> ee\QK,QV
<value>java:comp/env/jdbc/TestDB</value> #$0*Gd-N
</property> !}PZCbDhL
</bean> BMs?+
w9]HJ3qi
注意每种容器的jndi写法不同,所以java:comp/env/jdbc/TestDB为其全称,但在配置jndi时可能会是其中一部分,如tomcat配置jdbc/TestDB 2U.'5uA"L
;G|#i?JJ
配置错误会报javax.naming.NameNotFoundException: Name jdbc is not bound in this Context异常