初学者对spring data框架的简单了解

2018-12-24  本文已影响0人  是一只码农呀

what?

spring Data JPA 是spring 系列下的一个持久层框架,原理有些相似与hibernate ,但是主要针对的就是 Spring 唯一没有简化到的业务逻辑代码,至此,开发者连仅剩的实现持久层业务逻辑的工作都省了,唯一要做的,就只是声明持久层的接口,其他都交给 Spring Data JPA 来帮你完成!

how?

1.先下载spring Data JPA两个依赖(需要同时下载 Spring Data Commons 和 Spring Data JPA 两个发布包,Commons 是 Spring Data 的公共基础包),并把相关的依赖 JAR 文件加入到 CLASSPATH 中。

2.让持久层接口 Dao(以UserDao)  继承 Repository 接口。

该接口使用了泛型,需要为其提供两个类型:第一个为该接口处理的域对象类型,第二个为该域对象的主键类型。 如下:

Spring Data JPA 风格的持久层接口:

public interface UserDao extends Repository<AccountInfo, Long> {

    public AccountInfo save(AccountInfo accountInfo);

 }

不需要UserDao的实现类,框架会为我们完成业务逻辑。

3.在 Spring 配置文件中启用扫描并自动创建代理的功能。

 <-- 需要在 <beans> 标签中增加对 jpa 命名空间的引用 -->

 <jpa:repositories base-package="footmark.springdata.jpa.dao"

 entity-manager-factory-ref="entityManagerFactory" 

 transaction-manager-ref="transactionManager"/> 

4.测试代码。

 public interface UserDao extends Repository<AccountInfo, Long> {

 public AccountInfo save(AccountInfo accountInfo);

 // 你需要做的,仅仅是新增如下一行方法声明

 public AccountInfo findByAccountId(Long accountId);

 }

另外:spring Data JPA有几个比较重要的注解也需要掌握

 @query   摆脱像命名查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Springdata 的特有实现

@Modifying  简单来说就是和@query一起使用可以自定义查询   自己在注解里面手动编写sql语句

why?

主要目标是使得数据库的访问变得方便快捷,并支持map-reduce框架和云计算机数据服务。

      支持基于关系型数据库的数据服务,如OracleRAC等。

      对于拥有海量数据的项目,可以用SpringData来简化项目的开发,就如Spring Framework对JDBC,ORM的支持一样,SpringData会让数据访问变得更加方便,同mybatis框架相比告别了大量的sql语句(虽然可以自动生成)当然复杂的还是自己来比较好。

上一篇下一篇

猜你喜欢

热点阅读