Spring JdbcTemplate基本使用

JdbcTemplate 概述

它是 Spring 框架中提供的一个对象,是对原始繁琐的 JdbcAPI 对象的简单封装。Spring 框架为我们提供了很多的操作模板类。例如:操作关系型数据的 JdbcTemplate 和HibernateTemplate,操作 nosql 数据库的 RedisTemplate,操作消息队列的 JmsTemplate 等等。

JdbcTemplate 开发步骤

1.导入 spring-jdbc 和 spring-tx 坐标
2.创建数据库表和实体
3.创建 JdbcTemplate 对象
4.执行数据库操作

Jdbc 产生 JdbcTemplate 对象

我们可以将 JdbcTemplate 的创建权交给 Spring,将数据源 DataSoure 的创建权也交给 Spring,在 Spring 容器内部将数据源 DataSource 注入到 JdbcTemplate 模板对象中,配置如下:

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
      <property name="dataSource" ref="dataSource"/>
   </bean>

执行数据库操作

更新操作:

jdbcTemplate.update(sql,params)

查询操作:

jdbcTemplate.query(sql, Mapper, params)
jdbcTemplate.queryForObject(sql, Mapper, params)


  @Autowired
  private DataSource dataSource;

  @Test
  public void test1() {
    JdbcTemplate jdbcTemplate = new JdbcTemplate();
    jdbcTemplate.setDataSource(dataSource);

    int row = jdbcTemplate.update("insert into account values(?,?)",  5000, "andy");
    int update = jdbcTemplate.update("update account set money = 10000 where name = ?", "tom");
    int tom = jdbcTemplate.update("delete from account where name = ?", "tom");
    System.out.println(tom);
    System.out.println(row);
    System.out.println(update);
  }

  @Test
  public void test2() {
    JdbcTemplate jdbcTemplate = new JdbcTemplate();
    jdbcTemplate.setDataSource(dataSource);

    List<Account> list = jdbcTemplate.query("select * from account", new BeanPropertyRowMapper<Account>(Account.class));
    System.out.println(list);

    Account account = jdbcTemplate.queryForObject("select * from account where name = 'andy'", new BeanPropertyRowMapper<Account>(Account.class));
    System.out.println(account);

    Long aLong = jdbcTemplate.queryForObject("select count(*) from account", Long.class);
    System.out.println(aLong);

  }
posted @ 2021-03-07 22:24  泽海的最佳实践  阅读(83)  评论(0)    收藏  举报