【Spring Boot 5】Spring Boot Jpa 的使用(1)

基本查询也分为两种,一种是 Spring Data 默认已经实现,一种是根据查询的方法来自动解析成 SQL。

1、预先生成方法


Spring Boot Jpa默认预先生成了一些基本的CRUD方法。

(1)继承 JpaRepository

public interface UserRepository extends JpaRepository<User, Long> {

}

(2)使用默认方法

@Test

public void testBaseQuery() throws Exception {

User user=new User();

userRepository.findAll();

userRepository.findOne(1l);

userRepository.save(user);

userRepository.delete(user);

userRepository.count();

userRepository.exists(1l);

// …

}

就不解释了根据方法名就看出意思来

2、自定义简单查询


自定义的简单查询就是根据方法名来自动生成 SQL,主要的语法

是findXXBy,readAXXBy,queryXXBy,countXXBy,getXXBy后面跟属性名称:

User findByUserName(String userName);

也使用一些加一些关键字 And、Or

User findByUserNameOrEmail(String username, String email);

修改、删除、统计也是类似语法

Long deleteById(Long id);

Long countByUserName(String userName)

基本上 SQL 体系中的关键词都可以使用,例如: like、ignoreCase、OrderBy。

List findByEmailLike(String email);

User findByUserNameIgnoreCase(String userName);

List findByUserNameOrderByEmailDesc(String email);

具体的关键字,使用方法和生成sql如下

| Keyword | Sample | JPQL snippet |

| — | — | — |

| And | findByLastnameAndFirstname | … where x.lastname = ?1 and x.firstname = ?2 |

| Or | findByLastnameOrFirstname | … where x.lastname = ?1 or x.firstname = ?2 |

| Is,Equals | findByFirstnameIs,findByFirstnameEquals | … where x.firstname = ?1 |

| Between | findByStartDateBetween | … where x.startDate

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值