学习Spring5必知必会(6)~Spring DAO
2022-03-02 13:32
761 查看
一、Spring 对持久层技术的支持 Spring DAO
1、模板类:
2、基类:
二、spring JDBC 【JDBCTemplate 模板类】
1、案例:使用jdbc 完成crud操作
(1)依赖:
- mysql-connector-java.jar 【还可以使用德鲁伊连接池:druid.jar】
- spring-jdbc.jar
- spring-tx.jar
(2)总结JdbcTemplate模板类-处理CRUD 操作:
//DML操作: public update(String sql, Object...args) 参数:sql ?占位符对应的参数 返回:受影响的行数 //DQL 操作: public <T>List<T> query(String sql, Object...args, RowMapper<T> rowMapper) 参数:sql ?占位符对应的参数 结果集处理器 返回:多行结果集封装的list
(3)[代码重构,抽取重复的代码] 持久层JdbcTemplate的基类JDBCDaoSuppoet:
2、总结模板类JdbcTemplate的问题:
(1)在模板类JdbcTemplate中使用的占位符 ?【顺序占位符
】,需要数第几个,然后写对应的参数,参数多了麻烦
(2)面对集合查询 in查询时(不确定参数个数), select * from employee where id in .....
- in 后边不知道该怎么写,是应该写一个?还是(多少个?,都是不确定的)
✿ 解决:使用NameParameterJdbcTemplate
命名的参数JdbcTemplate模板,其实就是在JdbcTemplate外面套一层。
允许使用 xx 来给占位参数起名称,我们需要给名称xx的位置设置参数。
□ 举例:
public int countOfActorsByFirstName(String firstName) { String sql = "select count(*) from T_ACTOR where first_name = :first_name"; Map<String, String> namedParameters = Collections.singletonMap("first_name", firstName); return this.namedParameterJdbcTemplate.queryForObject(sql, namedParameters, Integer.class); }
三、Spring ORM --- 集成mybatis框架
相关文章推荐
- Spring学习笔记-HibernateTemplate和HibernateDaoSupport
- Mybatis学习记录(五)--整合spring开发Dao
- Spring DAO 学习笔记(一)
- hibernate框架学习错误集锦-org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL)
- Spring 4 官方文档学习(十)数据访问之DAO支持
- 电商平台学习笔记(七)——模板方法结合Spring在DAO层的应用
- 电商平台学习笔记(七)——模板方法结合Spring在DAO层的应用
- Spring的DAO学习笔记
- 学习Spring5必知必会(7)~Spring tx
- mybatis源码学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类
- SpringBoot学习(2)-SpringBoot中其他普通类调用Spring管理的Service、dao等bean
- jqGrid分页技术学习(三)spring jdbc 通用DAO——添加一条记录
- mybatis源码学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类
- jqGrid分页技术学习(四)spring jdbc 通用DAO——删除一条记录
- 【Spring+SpringMVC+MyBatis深入学习及搭建】02.MyBatis原始Dao开发和mapper代理开发
- Spring系列学习 --- DAO学习
- Java学习之道:spring支持的DAO操作
- jqGrid分页技术学习(五)spring jdbc 通用DAO——修改一条记录
- Java框架spring 学习笔记(十六):c3p0连接池的配置以及dao使用jdbcTemplate
- Spring与Hibernate整合的HibernateDaoSupport应用中的“内存泄露”问题(学习心得)