Sping JdbcTemplateJdbcTemplate概述
JdbcTemplate 是 Spring JDBC 核心包(core)中的核心类,它可以通过配置文件、注解、Java 配置类等形式获取数据库的相关信息,实现了对 JDBC 开发过程中的驱动加载、连接的开启和关闭、SQL 语句的创建与执行、异常处理、事务处理、数据类型转换等操作的封装。我们只要对其传入SQL 语句和必要的参数即可轻松进行 JDBC 编程。
开发步骤
导入spring-jdbc和spring-tx坐标
org.springframework spring-jdbc 5.3.6 org.springframework spring-tx 5.3.6
创建数据库表和实体对象
创建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 query = jdbcTemplate.query("select * from account", new BeanPropertyRowMapper(Account.class));
// 查询一个对象 jdbcTemplate.queryForObject("select * from account where name = ?",new BeanPropertyRowMapper(Account),"tom")
// 聚合查询 Long aLong = jdbcTemplate.queryForObject("select count(*) from account ", Long.class);