使用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等相关数据库操作。
时间: 2024-10-12 09:56:53