增删改查
创建实体类
java
public class Artist {
private Long id;
private String name;
private Long createTime;
private Long updateTime;
private Long version;
// getter/setter
}
// 或record类(无需回填自增属性时)
public record Artist(Long id,String name,Long createTime,Long updateTime,Long version) {}创建实体类DAO对象
java
@Repository
public class ArtistDao extends EntityDao<Artist> {
}在业务方法中注入实体类Dao
即可使用所有内置方法,实体类Dao无需传入实体类Class,默认即查询当前实体类
java
@Autowired
private ArtistDao dao;
public void helloworld() {
// 插入数据(lombok.accessors.chain=true时可以链式调用set方法)
Artist data = new Artist().setName("张三");
dao.insert(data);
// 删除ID=1的数据
long delCount = dao.deleteById(1L);
// 修改ID=2的名称
dao.updateById(new Artist().setName("改名 "),2L);
// 获取列表
List<Artist> list = dao.list();
// 获取条数
long count dao.count();
// 获取分页
Page<Artist> list = dao.page(Pageable.of(1,10));
// 是否存在ID=3
dao.existsById(3L);
// 获取单条数据
Artist id4 = dao.getById(4L);
// 获取某一列的列表
List<String> names = dao.listColumn(Artist::getName);
// 获取单条记录的某一列的值
String id5Name = dao.getColumnById(Artist::getName,5L);
// optional查询ID=6的对象
Optional<Artist> id6 = dao.optionalById(6L);
// stream流式查询
Stream<Artist> stream = dao.stream();
}以上仅介绍 最基础的方法, 每个方法都有多种参数组合的重载,根据需要选择使用即可
日常开发中,肯定有很多时候需要将VO/Request等对象与实体类对象转换的情况,特别繁琐和麻烦, 为了解决这个问题, 我们支持
直接插入/更新 VO/request等对象,点击下一页继续