jpa mysql sql分页查询语句_jpa 中 Query 的分页查询和更新
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);
總結
以上是生活随笔為你收集整理的jpa mysql sql分页查询语句_jpa 中 Query 的分页查询和更新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 静态内部类 线程安全问题_单例
- 下一篇: mysql 杀存储过程进程_SQL SE