1,查询分页
注意这个地方nativeQuery=true 代表的是可执行原生sql
先查询出来所有的数据,然后再差个总条数 返回page
@Query(nativeQuery = true, value = "SELECT * FROM sys_user",
countQuery = "SELECT COUNT(*) FROM sys_user")
Page getPageList(Pageable pageable);
这里的pageable 需要再service中
@Override
public Page getPageList() {
//当前页,每页显示几条数据
Pageable page = PageRequest.of(1,4);
return userDao.getPageList(page);
}
2,更新
更新需要注意JPA中的更新是saveAndFlush 先保存再更新的。所以更新的话就我们自己写了
modifying 代表是更新的意思
transactional 事务必须要加上的 要不然会报错的错误信息如下:
javax.persistence.TransactionRequiredException: Executing an update/delete query
@Modifying
@Transactional
@Query(nativeQuery = true, value = "UPDATE sys_user su SET su.`user_name`= :name WHERE su.`id`= :id")
void updateTest(@Param(value = "id") Integer id,@Param(value = "name") String name);