Sping JdbcTemplate

发布时间 2023-07-16 15:47:24作者: 云归处、

Sping JdbcTemplate

JdbcTemplate概述

JdbcTemplate 是 Spring JDBC 核心包(core)中的核心类,它可以通过配置文件、注解、Java 配置类等形式获取数据库的相关信息,实现了对 JDBC 开发过程中的驱动加载、连接的开启和关闭、SQL 语句的创建与执行、异常处理、事务处理、数据类型转换等操作的封装。我们只要对其传入SQL 语句和必要的参数即可轻松进行 JDBC 编程。

开发步骤

  1. 导入spring-jdbc和spring-tx坐标

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>5.3.6</version>
    </dependency>
    
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>5.3.6</version>
    </dependency>
    
  2. 创建数据库表和实体对象

  3. 创建jdbctemplate对象

  4. 执行数据库操作

        public  void  test1() throws PropertyVetoException {
    //        创建一个数据源对象
            ComboPooledDataSource dataSource = new ComboPooledDataSource();
            dataSource.setDriverClass("com.mysql.jdbc.Driver");
            dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");
            dataSource.setUser("root");
            dataSource.setPassword("123456");
    //		创建jdbctemplate对象
            JdbcTemplate jdbcTemplate = new JdbcTemplate();
    //        设置数据源对象,知道数据库在哪里
            jdbcTemplate.setDataSource(dataSource);
    //        执行操作
            jdbcTemplate.update("insert into account values (?,?)","tom",5000);
            
            
        }
    

利用spring产生jdbctemplate对象(创建数据源bean实例再将其注入jdbctemplate实例,然后通过spring容器获得)

让后为了解耦更加彻底,还可以把相关配置信息抽出为单独配置文件,以前写过很多次了不再多说

常用操作

修改(包括更新、删除、插入):

jdbcTemplate.update("insert into account values (?,?)","tom",5000);

查询:

//         查询多个对象
//        Account是你要封装的实类的泛型
        List<Account> query = jdbcTemplate.query("select * from account", new BeanPropertyRowMapper<Account>(Account.class));
//        查询一个对象
        jdbcTemplate.queryForObject("select * from account where name = ?",new BeanPropertyRowMapper<Account>(Account),"tom")
//        聚合查询
        Long aLong = jdbcTemplate.queryForObject("select count(*) from account ", Long.class);