LambdaTemplate 类
准备工作
LambdaTemplate 类在使用之前需要像 JdbcTemplate 一样为其准备好数据源,也可以将 JdbcTemplate 作为参数传递给 LambdaTemplate 的构造方法使其共享同一个数据库链接。
- 在使用 LambdaTemplate 时需还要为数据库中的表建立对象映射。
- 使用注解配置映射关系只是其中一种方式,点击这里 可以了解更加详细的对象映射内容。
1. 注解方式为 users 表创建对象映射
@Table("users")
public class User {
@Column(name = "id", primary = true, keyType = KeyTypeEnum.Auto)
private Long id;
@Column("name")
private String name;
...
}
@Table
注解用来声明类型为一个实体,并且指定了这个实体对应的数据库表名。@Column
注解用来声明类型的字段和列之间的映射关系。- 在上例中
id
字段被标记为主键,并指示该列含有数据库自增特性。
2. 创建构造器
DataSource dataSource = ...
LambdaTemplate lambda = new LambdaTemplate(dataSource);
或者
Connection conn = ...
LambdaTemplate lambda = new LambdaTemplate(conn);
- 通过 lambda 对象提供的各类方法即可实现数据库读写。
- 默认情况下 LambdaTemplate 会使用 RegistryManager.DEFAULT 注册器为其管理类型映射信息。
原理
核心实现原理是通过 LambdaTemplate 类提供的 insert、update、delete、query、freedom 系列方法提供对表的操作。
- insert,用于生成和执行 INSERT 语句。
- update,用于生成和执行 UPDATE 语句。
- delete,用于生成和执行 DELETE 语句。
- query,用于生成和执行 SELECT 语句。
开发者通过编程方式指示 SQL 语句的生成逻辑,在执行时会根据逻辑生成 SQL 语句和参数,最终交给 JdbcTemplate 进行执行并获得返回值。
使用指引
- Insert,了解如何写入数据、如何利用批量化写入方式提升效率。并且处理写入过程中的数据冲突问题。
- Update,了解更新数据的三种方法以及如何处理一些不安全的更新操作。
- Delete,了解使用 LambdaTemplate 如何删除数据。
- Query,了解如何使用 dbVisitor 的构造器提供的查询方法共数据查询使用。
- 条件构造器,通过使用条件构造器可以构建出丰富的查询条件,并用于 Update、Delete、Query 操作中。
- 分组,进行分组查询。
- 排序,进行查询排序。
- 专为 Map 结构而设计的 API,虽然有了实体对象承载数据库表映射,但某些时候 Map 结构依然是一个不错的数据载体。
- 自由模式,自由模式下基于 Map 结构可以在无对象映射类的情况下生成和执行 SQL 语句。