JDBC Template概念
为简化持久化操作,spring在JDBC API之上提供JDBC Template组件
提供统一模板:
环境配置
1、创建MySQL数据库
2、搭建maven项目,并引入依赖
3、配置spring配置文件
数据库连接配置
JDBC连接配置
基本操作
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)
查询复杂对象
查询一个
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
案例流程:
在搭建好开发环境之后
1、 创建DAO接口
2、 创建接口实现类
用XML管理:
注解注入
优缺点
优:简单、灵活
缺:SQL和Java代码掺杂,功能不丰富
持久化操作特点:必须、机械
ORM:对象-关系(JDBC Template不是ORM)
JDBC Template:spring框架对JDBC操作的封装,简单、灵活但是不够强大