美文网首页
初学者对spring data框架的简单了解

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

作者: 是一只码农呀 | 来源:发表于2018-12-24 17:46 被阅读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语句(虽然可以自动生成)当然复杂的还是自己来比较好。

    相关文章

      网友评论

          本文标题:初学者对spring data框架的简单了解

          本文链接:https://www.haomeiwen.com/subject/ncmzkqtx.html