jpa mysql sql分页查询语句_jpa 中 Query 的分页查询和更新
1,查詢分頁
注意這個(gè)地方nativeQuery=true 代表的是可執(zhí)行原生sql
先查詢出來所有的數(shù)據(jù),然后再差個(gè)總條數(shù) 返回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() {
//當(dāng)前頁,每頁顯示幾條數(shù)據(jù)
Pageable page = PageRequest.of(1,4);
return userDao.getPageList(page);
}
2,更新
更新需要注意JPA中的更新是saveAndFlush 先保存再更新的。所以更新的話就我們自己寫了
modifying 代表是更新的意思
transactional 事務(wù)必須要加上的 要不然會(huì)報(bào)錯(cuò)的錯(cuò)誤信息如下:
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);
總結(jié)
以上是生活随笔為你收集整理的jpa mysql sql分页查询语句_jpa 中 Query 的分页查询和更新的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 静态内部类 线程安全问题_单例
- 下一篇: mysql 杀存储过程进程_SQL SE