JdbcTemplate
文章目录
JdbcTemplate1. 基本简介2. 部分成员方法及描述3. 应用代码片段展示
1. 基本简介
JdbcTemplate是位于 org.springframework.jdbc.core 包中的类,依赖于 spring-jdbc ,是 Spring 框架对 JDBC 的简单封装,可以提供一个 JdbcTemplate 对象简化 JDBC 的相关操作。还需要注意的是,在创建 JdbcTemplate 对象时需要传入一个 DataSource 对象。
JdbcTemplate 的 API文档
JdbcTemplate 的作用:
简化了 JDBC 的使用,有助于避免常见错误。它已经完成核心的JDBC工作流程,只需要我们提供 SQL 语句就可以给出结果。执行SQL查询或更新时,可以捕获JDBC异常,并将其转换为org.springframework.dao程序包中定义的更大的异常层次结构 。
2. 部分成员方法及描述
成员方法在API文档中都有详细的介绍,这里简单介绍几个查询相关的方法。
方法名描述
update()发出单个SQL更新操作,执行DML语句,增、删、改操作query()使用准备好的语句进行查询queryForList()给定静态SQL,对结果列表执行查询。queryForMap()给定静态SQL,对结果图执行查询。queryForObject()给定静态SQL,对结果对象执行查询。
3. 应用代码片段展示
JdbcTemplate jt
= new JdbcTemplate(JDBCUtils
.getDataSource());
String sql
= "insert into emp(ename,dept_id) values(?,?)";
jt
.update(sql
,"刘备","10");
String sql
= "delete from emp where id = 1015";
jt
.update(sql
);
String sql
= "update emp set salary = 10000 where id =1001";
jt
.update(sql
);
String sql
= "select * from emp where id = ?";
Map
<String,Object> map
= jt
.queryForMap(sql
,1001);
System
.out
.println(map
);
String sql
= "select * from emp";
List
<Map
<String,Object>> list
= jt
.queryForList(sql
);
for (Map
<String, Object> map
: list
) {
System
.out
.println(map
);
}
String sql
= "select * from emp";
List
<Emp> list
= jt
.query(sql
, new BeanPropertyRowMapper<Emp>(Emp
.class));
for (Emp emp
: list
) {
System
.out
.println(emp
);
}
String sql
= "select count(id) from emp";
Long total
= jt
.queryForObject(sql
, Long
.class);
System
.out
.println(total
);
注意:
以上代码只是应用片段,需要结合具体环境使用。JDBCUtils 是对 Druid 连接池的一个工具抽取类,用于获取 DataSource。实现方式看 C3P0&Drui的2.4.4 。由于刚刚初学,对 JdbcTemplate 的认识还不够深刻,相关demo以后再做。推荐大家去看 黑马程序员的讲解 。
时间:2019年11月1日17:31:30