JdbcTemplate常用API举例与总结

JdbcTemplate常用API举例与总结

  • 前言
  • 正文
    • 首先,使用需要在pom.xml中引入依赖
  • 3种类型的方法
    • 1.DDL语句(建表)
      • execute
    • 2.DML语句(表的增删改)
      • insert
      • update
      • delete
    • 3.DQL语句(表的查询)
      • query
      • queryForObject
      • queryForMap
      • queryForList

前言

最近在迭代一个12年之久的老项目,所用技术为JdbcTemplate,故将JdbcTemplate常用API总结一下,以加深印象,提高工作效率!

正文

首先,使用需要在pom.xml中引入依赖

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.3.23.RELEASE</version>
   </dependency>

3种类型的方法

1.DDL语句(建表)

execute

execute方法主要用于建表相关,平常使用较少.

 String sql = "create table test (id integer, name varchar(100))";
        jdbcTemplate.execute(sql);

2.DML语句(表的增删改)

DML语句返回结果:影响的行数

insert

String sql = "INSERT INTO student (id,name)  VALUES(1,'张三')";
       int result = jdbcTemplate.update(sql);
        System.out.println("新增行数为 = " + result);

update

   String sql = "update student set name='李四'  where id =? ";
        int result = jdbcTemplate.update(sql, 1);
        System.out.println("修改行数为 = " + result);

delete

    String sql = "delete from student where id =?";
       int result = jdbcTemplate.update(sql, 1);
       System.out.println("删除行数为 = " + result);

3.DQL语句(表的查询)

query

通用的查询方法,有多个同名方法的重载,使用BeanPropertyRowMapper做映射将返回对象封装成List。

   String sql = "select * from student";
        List<Student> students = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Student.class));
        for (Student student : students) {
            System.out.println(student);
        }

queryForObject

返回查询只有单一对象的结果,这个单一结果应该是简单的数据类型,如:Integer.class、Long.class、String.class,不能直接封装成JavaBean对象。
可以用于聚合函数的查询结果。

  String sql = "select name from student where id=?";
       String result = jdbcTemplate.queryForObject(sql,String.class,1);
        System.out.println("姓名为: " + result);

queryForMap

返回Map的查询结果,其中键是列名,值是表中对应的记录。用于查询结果只有1条记录的情况。如果结果集返回多条记录会出现异常。

 String sql = "select * from student where id=?";
        Map<String, Object> result = jdbcTemplate.queryForMap(sql,2);
        System.out.println("id 为2的学生为:" + result);

queryForList

返回多条记录的查询结果,封装成一个List集合
默认List集合中的每个元素是Map对象,即List>
如果要封装成List对象,请使用query()方法。

 String sql = "select * from student";
        List<Map<String,Object>>result = jdbcTemplate.queryForList(sql);
         for (Map<String, Object> stringObjectMap : result) {
            System.out.println("学生为: " + stringObjectMap);
        }

你可能感兴趣的:(java,spring,mysql,数据库)