【原】使用Spring自带的JdbcTemplate。

使用Spring自带的JdbcTemplate,可以简化对数据库的操作,用起来十分方便。通过一下几个步骤的配置,即可以使用JdbcTemplate。

(1)配置好Spring的数据源,加入mysql驱动jar包,配置好数据库的properties文件。

加入mysql驱动jar包,配置好数据库的properties文件的步骤在此省略,仅仅给出c3p0数据原的配置,如下所示。

 1     <bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
 2         destroy-method="close" depends-on="propertyConfigurer">
 3         <property name="driverClass" value="${jdbc.driverclass}" />
 4         <property name="jdbcUrl" value="${jdbc.url}" />
 5         <property name="user" value="${jdbc.username}" />
 6         <property name="password" value="${jdbc.password}" />
 7 
 8         <!-- 初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
 9         <property name="initialPoolSize" value="10" />
10         <!-- 连接池中保留的最小连接数。 -->
11         <property name="minPoolSize" value="5" />
12         <!-- 连接池中保留的最大连接数。Default: 15 -->
13         <property name="maxPoolSize" value="100" />
14         <!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
15         <property name="acquireIncrement" value="5" />
16         <!-- 最大空闲时间,10秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
17         <property name="maxIdleTime" value="10" />
18         <!-- JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements 属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。 
19             如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0 -->
20         <property name="maxStatements" value="0" />
21         <!-- 连接池用完时客户调用getConnection()后等待获取连接的时间,单位:毫秒。超时后会抛出 SQLEXCEPTION,如果设置0,则无限等待。Default:0 -->
22         <property name="checkoutTimeout" value="30000" />
23     </bean>

(2)在Spring的配置文件中,比如applicationContext.xml文件中,配置JdbcTempalte这个Bean资源。

1 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
2     abstract="false" lazy-init="false" autowire="default">
3     <property name="dataSource">
4         <ref bean="c3p0DataSource" />
5     </property>
6 </bean>    

(3)在某个XxxService类中,注入要使用的JdbcTemplate资源

1 public class XxxServiceImpl extends BaseService{
2     
3     @Resource
4     private JdbcTemplate jdbcTemplate;
5 
6        // 其他代码省略  
7 }

(4)使用JdbcTempalte进行CRUD等相关数据库操作。

原文地址:https://www.cnblogs.com/zjrodger/p/5580461.html