JDBCTemplate
Spring框架对JDBC的简单封装,提供了一个JDBCTemplate对象简化JDBC的开发;
快速入门
- 引入jar包
<!--阿里巴巴druid连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.14</version>
</dependency>
<!--mysql数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!--jdbcTemplate所需要的5个jar包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
- 准备好druid工具类和响应的配置文件(如何配请看我druid连接池博客)
- 编写测试类
public class JdbcTemplateDemo {
public static void main(String[] args) {
//创建JdbcTemplate对象
JdbcTemplate template = new JdbcTemplate(DruidUtils.getDataSource());
//写sql
String sql = "update user set name = ? where id = ?;";
//执行sql
template.update(sql, "王五", "3");
}
}
Template的常用方法
-
update() : 执行DML语句,增删改语句;
-
queryForMap() : 查询结果将结果集封装为map集合,将列名作为key,将值作为value,将这条记录封装为一个map集合,这个方法的查询结果长度只能是1;
-
queryForList() : 查询结果将结果集封装为List集合,注意,将每条记录封装为一个map集合,再将map集合装载到list集合中;
-
query() : 查询结果,将结果封装为JavaBean对象;
query的参数 : RowMapper
一般使用BeanPropertyRowMapper实现类,可以完成数据到JavaBean的自动封装 : new BeanProperTyRowMapper<类型>(类型.class); -
queryForObject : 查询结果,将结果封装为对象
一般用于聚合函数的查询;