我在<配置数据库连接池使用之JNDI的方式>中说明了使用JNDI配置数据库的连接池。
当在JNDI中配置数据库的连接池,就要使用这个连接池。
现在操作数据库的方法都有很多的封装,我们可以使用Spring中提供的JdbcTemplate的封装操作数据库。
准备工作:
1.先配置数据库的连接池(无论是局部的JNDI还是全局的JNDI)。
2.在Spring中引入JNDI
<jee:jndi-lookup id="dataSource" jndi-name="JNDI中的name值" />
方法一:
1.在Spring的applicationContext.xml文件中声明一个JdbcTemplate对象,并注入dataSource。
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
2.在java文件中使用IOC将jdbcTemplate注入到对象中去。
public class UserServiceImpl{
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
//注入方法1
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}
3.在Spring的applicationContext加入一个Bean对象。
<bean id="userService" class="com.hxzy.account.jdbcTemplate.UserServiceImpl">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
然后使用jdbcTemplate操作数据库就可以了。
方法二、使用Spring提供的org.springframework.jdbc.core.support.JdbcDaoSupport类。
创建一个类BaseService并继承JdbcDaoSupport类。
在BaseService类上使用@Service,可以使用@Resource注入:
@Resource(name="jdbcTemplate")
public void mysetJdbcTemplate(JdbcTemplate jdbcTemplate){
setJdbcTemplate(jdbcTemplate);
}
也可以直接在applicationContext.xml中加入
<span style="white-space:pre"> </span><bean class="com.scan.service.BaseService" >
<span style="white-space:pre"> </span><property name="jdbcTemplate" ref="jdbcTemplate" />
<span style="white-space:pre"> </span></bean>
在BaseService中使用getJdbcTemplate获得操作数据库的对象。