共分spring容器自带连接池、项目中创建连接池、服务器创建连接池三种 B+pJWl8u
"KhVS
1、spring容器自带连接池 0D=7Mef
a+_F^
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> M?FbBJ`sF
<property name="driverClassName"> `BGU
<value>com.mysql.jdbc.Driver</value> a=%QckR*
</property> oKlO cws}
<property name="url"> NW*qw q
<value>jdbc:mysql://127.0.0.1:3306/test</value>
(r!d4
</property> Fu/{*4
<property name="username"> j\^u_D
<value>admin</value> 1(ud(8?|
</property> =#Qm D=
<property name="password"> a#NP69
<value/> C\d5t4s
</property> Z^?Y TykH
</bean> ~p'DPg4
/U1 jCLR'
2、项目中创建连接池(一般利用开源项目) J]=2] oI2
,TdL-a5
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> >8>}o4Q/X
<property name="driverClassName"> X"z!52*3]
<value>com.mysql.jdbc.Driver</value> 7K\H_YY8#
</property> OM4q/!)A]
<property name="url"> w-3 B~e
<value>jdbc:mysql://127.0.0.1:3306/test</value> Z"u|-RoBV
</property> @m99xF\e
<property name="username"> 1r-#QuV#
<value>admin</value> #]_S)_Z-
</property> 1qgzb
<property name="password"> "v9i;Ba>+
<value/> YJ[Jo3M@j0
</property> c~=yD:$
</bean> 0s%rd>3
R8K?!Z
3、应用服务器创建数据源,项目中通过jndi访问,以tomcat为例 ~H+W[r}
S}T*g UO
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> &9*MO
<property name="jndiName"> %w0Vf$
<value>java:comp/env/jdbc/TestDB</value> (q|EC;
</property> U}]uPvu
</bean> q&y9(ZvI
0u7\*Iy
注意每种容器的jndi写法不同,所以java:comp/env/jdbc/TestDB为其全称,但在配置jndi时可能会是其中一部分,如tomcat配置jdbc/TestDB :: 2pDtMS
nRL2Z5iO-
配置错误会报javax.naming.NameNotFoundException: Name jdbc is not bound in this Context异常