4.16springboot+jpa的学习

得先有一个接口
@Repository
public interface AccountRepository extends JpaRepository<Account, Integer> {
}
Account为实体类,Integer为主键的类型
然后调用里边的方法
属性
拼接方法名称示例
执行的语句

Distinct
findDistinctByLastnameAndFirstname
select distinct … where x.lastname = ?1 and x.firstname = ?2

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

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

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

Between
findByStartDateBetween
… where x.startDate between ?1 and ?2

LessThan
findByAgeLessThan
… where x.age < ?1

LessThanEqual
findByAgeLessThanEqual
… where x.age <= ?1

GreaterThan
findByAgeGreaterThan
… where x.age > ?1

GreaterThanEqual
findByAgeGreaterThanEqual
… where x.age >= ?1

After
findByStartDateAfter
… where x.startDate > ?1

Before
findByStartDateBefore
… where x.startDate < ?1

IsNull,Null
findByAge(Is)Null
… where x.age is null

IsNotNull,NotNull
findByAge(Is)NotNull
… where x.age not null

Like
findByFirstnameLike
… where x.firstname like ?1

NotLike
findByFirstnameNotLike
… where x.firstname not like ?1

StartingWith
findByFirstnameStartingWith
… where x.firstname like ?1(参数与附加%绑定)

EndingWith
findByFirstnameEndingWith
… where x.firstname like ?1(参数与前缀%绑定)

Containing
findByFirstnameContaining
… where x.firstname like ?1(参数绑定以%包装)

OrderBy
findByAgeOrderByLastnameDesc
… where x.age = ?1 order by x.lastname desc

Not
findByLastnameNot
… where x.lastname <> ?1

In
findByAgeIn(Collection ages)
… where x.age in ?1

NotIn
findByAgeNotIn(Collection ages)
… where x.age not in ?1

True
findByActiveTrue
… where x.active = true

False
findByActiveFalse
… where x.active = false

IgnoreCase
findByFirstnameIgnoreCase
… where UPPER(x.firstname) = UPPER(?1)

模糊查询可以加个Like

关联查询,用另一个实体类定义一个参数,在上边添加注解
@JoinColumn(name = "为另一个实体类的关联参数")
@OneToOne

如果只想要该实体类的数据,不想要另一个实体类的数据,可以设置懒加载,@OneToOne(fetch = FetchType.LAZY),@Transactional懒加载属性需要在事务环境下获取

posted @ 2025-04-16 20:53  YANGzLIN...11  阅读(7)  评论(0)    收藏  举报