Appearance
Simplest-JPA
simplest-jpa内置名为 BaseRepository
接口,它实现了基本的增删改查功能以及分页查询功能。 和对应Service
新增数据
Service
提供了save
,saveBatch
,saveOrUpdate
方法
save(T entity)
插入实体类数据,不忽略null
值。saveBatch(Collection<T> entities)
批量插入实体类数据saveOrUpdate(T entity)
插入或者更新,若主键有值,则更新,若没有主键值,则插入,插入或者更新都不会忽略 null 值。saveOrUpdateSelective(T entity)
插入或者更新,若主键有值,则更新,若没有主键值,则插入,更新会忽略 null 值。
删除数据
Service
提供了remove
,removeAll
,removeById
,removeByIds
方法
removeById(ID id)
根据主键删除数据removeById(Collection<? extends ID> ids)
根据多个主键批量删除数据remove(Collection<T> entities)
根据多个实体(实体需要有主键)进行批量删除remove(T entity)
根据实体条件进行删除
更新数据
Service
提供了update
多个重载方法
update(T entity)
查询条件 根据实体 ID 更新。不会忽略 null 值update(T entity, Boolean ignore)
查询条件根据实体 ID 更新。自定义忽略 nul 值update(T entity, Boolean ignore, String[] ignoreProperties)
自定义忽略实体字段属性update(JPAUpdateClause query)
根据查询条件来更新数据。
java
@Test
@Rollback(value = false)
@Transactional
void update() {
QCategory qCategory = QCategory.category;
JPAUpdateClause updateWrapper = UpdateWrapper.of(qCategory);
updateWrapper.set(qCategory.title, "bh").where(qCategory.id.eq(6l));
Boolean flag = categoryService.update(updateWrapper);
log.info("更新{}", flag);
}
updateChain
updateChain
是一个对 UpdateWrapper 等进行封装的一个工具类,方便用户用于进行链式操作。
java
@Test
@Rollback(value = false)
@Transactional
void updateChain() {
QCategory qCategory = QCategory.category;
categoryService.updateChain(qCategory)
.set(qCategory.title, "测试jpa")
.where(qCategory.id.eq(6l)).execute();
}