Spring Data JPA增删改查

1.查询

使用基类接口Repository。

1)基于方法名称命名规则查询

规则:findBy(关键字)+属性名称(属性名称的首字母大写)+查询条件(首字母大写)

注意:在Repository  子接口中声明方法:

        1. 不是随便声明的,而需要符合一定的规范
        2. 查询方法以 find | read | get 开头
        3. 涉及条件查询时,条件的属性用条件关键字连接
        4. 要注意的是:条件属性以首字母大写
        5. 支持属性的级联查询。若当前类有符合条件的属性,则优先使用,而不使用级联 属性。若需要使用级联属性,则属性之间使用_连接

2)基于@Query 注解查询

1.JPQL:通过 Hibernate 的 HQL 演变过来的。他和 HQL 语法及其相似。nativeQuery =false。

@Query("from Users where username = ?1 and userage >= ?2") List<Users> queryUserByNameAndAge(String name,Integer age);

2.原生SQL 语句本地查询。nativeQuery =true

@Query(value="select * from t_users where username = ?1 and userage >= ?2",nativeQuery=true) List<Users> queryUserByNameAndAgeUseSQL(String name,Integer age);

注意:1.如果使用原生Sql本地化查询,@Query注解中SQL的表名和字段名均是数据库表名和字段名。

2.如果是JPQL(nativeQuery =false),@Query注解中SQL的表名和字段名均是实体的名和实体的字段名。

3.@Query注解中SQL的‘?’代表参数的,?1代表方法的第一参数,?2代表第二个参数。

2.增加,删除,修改

1)使用CurdRepository接口提供的delete,Save等方法。

2)基于@Query 注解,同上面的基于@Query 注解的查询,只不过需要增加 @Transactional和@Modifying的注解

@Transactional

@Modifying

@Query("update User set username = ?2,remark = ?3 where userid = ?1")

int updateUserNameByUserId(int userId,String userName,String remark);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值