Spring JDBC__jdbctemplate

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)
      • 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);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_45889221/article/details/107602210
今日推荐