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