查詢語句:
1. 在@Query 註解裏設置value ,?1、?2 分別代表第一第二個參數,
nativeQuery=true 表示是否是原生SQL
@Query(value = "select * from user where username=?1 and password=?2",nativeQuery=true)
User findUserByUsernameAndPassword(String username,String password);
2. 修改語句必須加上@Modifying 和@Transactional 註解,不然會報錯。
@Transactional 表示支持事物管理
@Modifying 表示執行增、刪、改操作,clearAutomatically = true 表示清理實體類裏的數據。
@Transactional
@Modifying(clearAutomatically = true)
@Query(value = "update user set loginDate = ?1 where id = ?2",nativeQuery = true)
int modifyUpdateTimeById(Date updateTime,Long id);
另外,nativeQuery=false 表示查詢語句是HQL 語句(Hibernate查詢語句)。 HQL 的使用可以看看以下兩篇文章: HQL 語法詳解:https://www.cnblogs.com/printN/p/6415602.html 常用的HQL 語句,Hibernate查詢語句:https://www.cnblogs.com/logsharing/p/8182794.html