学习Spring5必知必会(6)~Spring DAO

简介: 学习Spring5必知必会(6)~Spring DAO

一、Spring 对持久层技术的支持 Spring DAO

1、模板类:


22.png


2、基类:


23.png


二、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:


24.png25.png


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框架

目录
相关文章
|
2月前
|
Java 关系型数据库 MySQL
Spring5深入浅出篇:Spring中的FactoryBean对象
Spring5深入浅出篇:Spring中的FactoryBean对象
|
3月前
|
Java 程序员 Spring
Spring5深入浅出篇:Spring对象属性注入详解
Spring5深入浅出篇:Spring对象属性注入详解
|
2月前
|
Java Spring
Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入)
Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入)
|
2月前
|
设计模式 前端开发 Java
玩转Spring—Spring5新特性之Reactive响应式编程实战
玩转Spring—Spring5新特性之Reactive响应式编程实战
59 0
|
28天前
|
Java 数据库连接 Spring
Spring5深入浅出篇:Spring配置⽂件参数化
该文档介绍了Spring配置文件参数化的概念和步骤。目的是将经常需要修改的配置,如数据库连接参数,从主配置文件中分离到一个单独的`.properties`文件,以便于管理和维护。步骤包括创建小型配置文件(如`db.properties`),在`applicationContext.xml`中引入该文件,并使用`${key}`语法在Spring配置文件中引用这些参数。最终通过测试验证配置文件参数化的成功。
|
29天前
ssm(Spring+Spring mvc+mybatis)Dao层实现类——DeptDaoImpl
ssm(Spring+Spring mvc+mybatis)Dao层实现类——DeptDaoImpl
12 0
|
29天前
ssm(Spring+Spring mvc+mybatis)Dao接口——IDeptDao
ssm(Spring+Spring mvc+mybatis)Dao接口——IDeptDao
8 0
|
2月前
|
Java 调度 开发工具
SpringCloud【微服务架构进化论、微服务的拆分规范和原则、为什么选择Spring Cloud、什么是服务治理 】(一)-全面详解(学习总结---从入门到深化)
SpringCloud【微服务架构进化论、微服务的拆分规范和原则、为什么选择Spring Cloud、什么是服务治理 】(一)-全面详解(学习总结---从入门到深化)
176 0
|
2月前
|
Java Spring
Spring5源码(32)-aspectj-autoproxy解析及Spring解析自定义标签
Spring5源码(32)-aspectj-autoproxy解析及Spring解析自定义标签
174 0
|
3月前
|
Java Spring
Spring5深入浅出篇:Spring工厂简单原理以及日志应用
Spring5深入浅出篇:Spring工厂简单原理以及日志应用