jpql=sql+pojo
- 更新:
@Transactional
@Modifying
//表名改为POJO类名即可,其它字段属性改为POJO类中成员变量名
@Query(value="update Comment set avatar=? where uid=?",nativeQuery = false)
void updateavatar(String avatar,Long id);
- 删除
@Transactional
@Modifying
//表名改为POJO类名即可,其它字段属性改为POJO类中成员变量名
@Query(value="delete Comment where uid=?")
void delete(Long id);
- 查询
//表起别名
@Query("select b from Blog b where b.recommend = true")
List<Blog> findTop(Pageable pageable);
总结:注意事项
@Query(value="update Comment set avatar=? where uid=?",nativeQuery = false)
void updateavatar(String avatar,Long id);
== value 可写可不写
nativeQuery false 为jpql语句 true为sql语句 (默认为false,jpql语句)==
语法差别:
sql 数据库表名,字段名
jpql POJO类名,成员变量名
JPQL占位符另一种写法:
@Query("update Line set withdraw=:withdraw where id=:lineId")
@Modifying
void withdrawOrNotByLineId(int lineId, boolean withdraw);