Spring Data Jpa基础入门(删改查)

一 查询(注解)

 @Query查询(常用)

@Query("select u from TestUser u where u.username=:username and u.sex=:sex")
public List<TestUser> findByUsernameAndSex(@Param("username") String username, @Param("sex") String sex);
注意:TestUser 为实体类名;用=:时取参数要在参数加@Param("属性值")+类型  属性;
@Query查询(本地化查询)(常用) 
@Query(nativeQuery =true,value="select * from test_user tu where tu.user_name=:username ")
public  List<TestUser> findUserByNativeQuery(@Param("username")String username);
注意:本地化查询要设nativeQuery=true
分页查询
public Page<TestUser> findAll(final String username,final String sex, int p,int s){
    PageRequest pr=new PageRequest(p,s);
    return testUserDao.findAll(new Specification() {
        @Override
        public Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder) {
            Predicate predicate=criteriaBuilder.conjunction();
            List<javax.persistence.criteria.Expression<Boolean>> expressions=predicate.getExpressions();
            if(username!=null&&!"".equals(username.trim())){
                expressions.add(criteriaBuilder.like(root.get("username"),"%"+username+"%"));

            }
            if (sex!=null&&!"".equals(sex)){
                expressions.add(criteriaBuilder.equal(root.get("sex"),sex));
            }
            return predicate;

        }
    },pr);
}
删除
 @Modifying
    @Query("delete from TestUser u where u.id=:id")
    public void delTestUserById(@Param("id") Long id);
注意:删除或修改时@Query上方要加入@Modifying 在Service 层要加上@Transactional(readOnly=false)
更新
@Modifying
    @Query("update TestUser u set u.username where u.id=:id")
    public void delTestUserById(@Param("id") Long id);u.username



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值