Spring JDBC
spring框架对jdbc的简单封装,提供了一个JDBCTemplate对象简化JDBC的开发
- 步骤
- 1、导入jar包
- 2、创建JdbcTemplate对象,依赖于数据源DataSource
- 3、调用JdbcTemplate的方法来完成CRUD的操作
-
update():执行DML语句。增删改语句
-
queryForMap():查询结果将结果集封装成Map集合
- 注意:这个方法查询的结果集长度只能是1
-
queryForList():查询结果将结果集封装成List集合
- 注意:将每一条记录封装成为一个Map集合,再将Map集合装载到List集合中
-
query():查询结果,将结果封装为JavaBean对象
- query的参数:RowMapper
- 一般我们使用BeanPropertyRowMapper实现类,可以完成数据到JavaBean的自动封装
- new BeanPropertyRowMapper<类型>(类型.class)
- query的参数:RowMapper
-
queryForObject():查询结果,将结果封装为对象
- 一般用于聚合函数的查询
-
案例
public class JdbcTemplateDemo02 {
private JdbcTemplate template = new JdbcTemplate(JdbcUtils.getDataSource());
//修改一条数据
@Test
public void test01(){
String sql="update student set sno= ? where sname = ?";
template.update(sql,"08011","刘备");
template.update(sql,"08012","关羽");
}
//查询一条数据,封装成Map对象
@Test
public void test02(){
String sql="select * from student where sno=?";
Map<String, Object> stringObjectMap = template.queryForMap(sql, "08012");
System.out.println(stringObjectMap);
}
//查询每一条数据,封装成Map对象,存入List集合中
@Test
public void test03(){
String sql="select * from student";
List<Map<String, Object>> list = template.queryForList(sql);
for (Map<String, Object> stringObjectMap : list) {
System.out.println(stringObjectMap);
}
}
//查询所有数据,封装成Student对象,存入List集合
@Test
public void test04(){
String sql="select * from student";
List<Student> list = template.query(sql, new BeanPropertyRowMapper<Student>(Student.class));
for (Student student : list) {
System.out.println(student);
}
}
//查询表中数据个数
@Test
public void test05(){
String sql="select count(sno) from student";
Long count = template.queryForObject(sql, Long.class);
System.out.println(count);
}
}