spring-JDBC Template

时间:2025-04-12 21:32:49

JDBC Template概念

为简化持久化操作,spring在JDBC API之上提供JDBC Template组件

提供统一模板:

spring-JDBC Template

环境配置

1、创建MySQL数据库

2、搭建maven项目,并引入依赖

3、配置spring配置文件

数据库连接配置

JDBC连接配置

spring-JDBC Template

基本操作

execute

通常执行DDL语句

update or batchUpdate

 Int update(String sql,Object[] args)
Int update(String sql,Object… args) Int[] batchUpdate(String [] sql)
Int[] batchUpdate(String [] sql,List<object[]> args)------------执行同构SQL

query or queryXXX

查询简单对象

查询一个

 T queryForObject(String sql,Class<T> type)
T queryForObject(String sql,Object[] args,Class<T> type)
T queryForObject(String sql,Class<T> type,Object… args)

查询多个

 List<T> queryForList(String sql,Class<T> type)
List<T> queryForList(String sql,Object[] args,Class<T> type)
List<T> queryForList(String sql,Class<T> type,Object… args)

spring-JDBC Template

查询复杂对象

查询一个

 Map queryForObject(String sql)
Map queryForObject(String sql,Object[] args)
Map queryForObject(String sql,Object… args)

查询多个

 List< Map<String,Object>> queryForList (String sql)
List< Map<String,Object>> queryForList (String sql,Object[] args)
List< Map<String,Object>> queryForList (String sql,Object… args)
查询复杂对象(封装成实体)

查询一个

 T queryForMap(String sql,RowMapper<T> mapper)
T queryForMap(String sql,Object[] args, RowMapper<T> mapper)
T queryForMap(String sql, RowMapper<T> mapper,Object… args)

查询多个

 List<T> queryForList(String sql, RowMapper<T> mapper)
List<T> queryForList(String sql,Object[] args, RowMapper<T> mapper)
List<T> queryForList(String sql, RowMapper<T> mapper,Object… args)

Call

NamedParameterJdbcTemplate

spring-JDBC Template

spring-JDBC Template

案例流程:

在搭建好开发环境之后

1、  创建DAO接口

2、  创建接口实现类

用XML管理:

注解注入

优缺点

优:简单、灵活

缺:SQL和Java代码掺杂,功能不丰富

持久化操作特点:必须、机械

ORM:对象-关系(JDBC Template不是ORM)

JDBC Template:spring框架对JDBC操作的封装,简单、灵活但是不够强大