您的位置:首页 > 编程语言 > Java开发

spring data jpa

2015-12-13 12:19 447 查看
前言:

  JPA全称Java
Persistence API,即Java持久化API,它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据,结合其他ORM的使用,能达到简化开发流程的目的,使开发者能够专注于实现自己的业务逻辑上。

  Spring Jpa 能够简化创建 JPA 数据访问层和跨存储的持久层功能,用户的持久层Dao接口只需要继承他自己定义好的(仓库)接口,无需再写实现类,就可以实现对象的CRUD操作,还有分页排序等功能。

1.1核心概念
在Spring Data 接口 Repository 需要domain 以及id类型域类的类型参数。这个接口行为主要是一个标记接口获取类型一起工作,并帮助您发现接口,扩展这一个 CrudRepository 提供复杂的CRUD功能的实体类进行管理。

例1 CrudRepository接口

public interface CrudRepository<T, ID extends Serializable>
extends Repository<T, ID>{
<S
extends T> S save(S entity);
 T findOne(ID primaryKey);
 Iterable<T> findAll();

Long count();
void delete(T entity);
boolean exists(ID primaryKey);
2.1我们还提供持久性特定于技术的抽象如jpaRepository

例2 jpaRepository接口
public interface UserRepository extends JpaRepository<User, Long> {

}
例3 findBy...方法

List<User> findByName(String name);

User findByNameAndId(String name, long id);

例4 count...方法

Long countByName(String name);

例 5 deleteBy..,removeBy...方法

Long deleteByName(String name);

List<User> removeByName(String name);

例 6 Like模糊查询 方法

List<User> findByNameLike(String name);

//使用@Query注解

 @Query("select o from User o where o.name like ?1%")

 List<User> findById(String name);

//使用通配符

 @Query("select o from User o where o.name like:un")
 List<User> findByName(@Param("un")String
name);

例 7
sort排序方法

List<User> findByName(String name,Sort sort);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: