前言
Spring JdbcTemplate是Spring Framework提供的一个强大的数据库访问工具,它简化了数据库操作的过程,为开发者提供了一个高级的数据库访问抽象层。
JdbcTemplate是Spring JDBC模块中的一个核心类,它位于
org.springframework.jdbc.core
包中。JdbcTemplate通过封装JDBC的核心功能,如数据库连接管理、SQL执行、参数绑定、结果集提取、异常处理等,使得数据库操作变得更加简单和高效。
1 使用Spring JDBC 模版
- Spring的JDBC框架将数据访问的过程中获取连接、释放资源、异常处理、遍历查询结果等必须的样板代码封装隐藏到模板类之下,从而简化我们的JDBC 代码.
- Spring针对JDBC提供了3个模板类
- JdbcTemplate:Spring 里最基本的 JDBC 模板,利用 JDBC 和简单的索引参数查询提供对数据库的简单访问。
- NamedParameterJdbcTemplate:能够在执行查询时把值绑定到SQL里的命名参数,而不是使用索引参数,这有利于简化动态组合条件查询的实现,也不容易搞混参数
- SimpleJdbcTemplate:利用Java 5的特性,比如自动装箱、泛型(generic)和可变参数列表来简化JDBC模板的使用。
1.1 使用JdbcTemplate
- 将JdbcTemplate配置成bean
- 注入DataSource
<bean id="jdbcTemplate" class="….jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
- 案例:完成scott中员工信息的增删查改操作
EmpDao:
public interface EmpDao {
List<Emp> search();
List<Emp> search(Emp e);
Emp findById(int empno);
void save(Emp e);
void update(Emp e);
void delete(int empno);
}
Dao的实现类:
public class EmpDaoJdbcTemplate implements EmpDao {
@Resource(name="jdbcTemplate")
private JdbcTemplate jdbcTemplate;
……
}
- 案例:员工信息的插入操作
- JdbcTemplate
- public int update(String sql,Object...args)
public void save(Emp e) {
String sql = "insert into emp (empno,ename,deptno) values (?,?,?)";
Object[] params =
newObject[]{e.