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);
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);
相关文章推荐
- Java虚拟机垃圾回收
- JAVA 函数式接口与c#委托对应关系(一)
- Spring事务简要笔记
- Spring AOP 应用 - 打印 Action (Controller )层的日志信息
- 十分钟速懂java知识点 System类
- Spring Boot 入门
- Spring Boot 属性配置和使用
- spring自定义异常
- 一个简化版的Java多线程爬虫
- Caused by: java.lang.ClassNotFoundException: javax.transaction.TransactionManager
- Spring Boot 属性配置和使用
- 关于Java Script中声明提前的问题
- JAVA实现三重DES加密软件
- spring4.0 源码分析 搭建简单的分析环境(一)
- [javase学习笔记]-4.3 函数的内存加载过程
- 二叉树反转(java版)
- 关于数组中的值拼接成字符串中间用逗号隔开的实现
- [javase学习笔记]-4.2 定义函数的两个明确
- Android(零)基础-eclipse文件结构
- 关于java中的多态理解