什么是Spring JdbcTemplate类
Spring
针对数据库开发封装的JDBC
类
作用:
支持对数据库的所有操作
Spring JdbcTemplate类配置模板
对上述配置的解释:
上诉配置定义了三个Bean
:
-
dataSource
--->对应DriverManagerDataSource
,对数据源进行配置 -
jdbcTemplate
--->对应JdbcTemplate
定义JdbcTemplate
相关配置 -
需要注入的
Bean
dataSource定义的四个属性
属性名 | 说明 |
---|---|
driverClassName | 所使用的驱动名称,对应驱动 JAR 包中的 Driver 类 |
url | 数据源所在地址 |
username | 访问数据库的用户名 |
password | 访问数据库的密码 |
JdbcTemplate定义的操作数据库的方法
注意:
定义JdbcTemplate
时,需要将dataSource
注入到JdbcTemplate
中
在其他的类中要使用JdbcTemplate
也需要将JdbcTemplate
注入到使用类中(通常注入 dao 类中)
JdbcTemplate
类定义的方法:
方法 | 说明 |
---|---|
public int update(String sql) | 用于执行新增、修改、删除等语句 args 表示需要传入到 query 中的参数 |
public int update(String sql,Object... args) | 用于执行新增、修改、删除等语句 args 表示需要传入到 query 中的参数 |
public void execute(String sql) | 可以执行任意 SQL,一般用于执行 DDL 语句 action 表示执行完 SQL 语句后,要调用的函数 |
public T execute(String sql, PreparedStatementCallback action) | 可以执行任意 SQL,一般用于执行 DDL 语句 action 表示执行完 SQL 语句后,要调用的函数 |
public T query(String sql, ResultSetExtractor rse) | 用于执行查询语句 以 ResultSetExtractor 作为参数的 query 方法返回值为 Object,使用查询结果需要对其进行强制转型 以 RowMapper 作为参数的 query 方法返回值为 List |
public List query(String sql, RowMapper rse) | 用于执行查询语句 以 ResultSetExtractor 作为参数的 query 方法返回值为 Object,使用查询结果需要对其进行强制转型 以 RowMapper 作为参数的 query 方法返回值为 List |
JdbcTemplate
举例:
实现DAO
层的方法
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
public class UserDaoImpl implements UserDao{
private JdbcTemplate jdbcTemplate;
private UserDao userDao;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void setDataSource(DataSource datasource) {
this.jdbcTemplate = new JdbcTemplate(datasource);
}
/* 重写接口当中的方法 */
配置Bean
: