@Query自定义sql查询
@Query自定义sql更新/删除
使用JPA开发过程中,JPA会根据我们提供的方法名自动实现查询方法
有时JPA提供的方法不满足我们的需求,我们需要自定义repository方法
@Repository
public interface UserRepository extends JpaRepository<User,Integer> {
@Transactional
@Modifying
@Query("update t_user set name=:name where id=:id")
void updateUserImg(@Param(value = "name")String name,@Param(value = "id") Integer id);
}
这个是操作User实体类的repository,注意表名,我也不清楚到底啥时候写User啥时候写t_user。。
@Query注解中加入nativeQuery=true 属性表示使用原生sql,否则默认是hql(实体类查),暂时这么理解
实体类,更新和删除操作时加上@Modifying注解,根据需求加事务
@Entity(name = "t_user")
public class User {
@Id
@GeneratedValue
private Integer id;
private String name;
}
测试类
userRepository.updateUserImg("二狗子",1);
image.png
网友评论