1.概念
Spring Data的目的是为了简化构建基于Spring框架应用的数据访问技术,包括非关系型数据库、Map-Reduce框架、云数据服务等等;另外也包含对关系数据库的访问支持。
2.Spring Data 的子项目:
1.Commons 提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化
2.Hadoop 基于Spring的Hadoop作业配置和一个POJO编程模型的MapReduce作业
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算
3.Key-value 集成了Redis和Riak,提供多个常用场景下的简单封装
4.Document 集成文档数据库,CouchDB和MongoDB并提供基本的配置映射和资料库的支持
5.Graph 集成Neo4j提供强大的基于POJO的编程模型
6.Graph Roo AddOn - Rooney support for Neo4j
7.JDBC Extensions 支持Oracle RAD、高级队列和高级数据类型
8.JPA 简化创建JPA数据访问层和跨存储的持久层功能
9.Mapping 基于Grails的提供对象映射框架,支持不同的数据库
10.Examples 示例程序、文档和图数据库
11.Guidance 高级文档
3.Repository
1.如果dao接口继承了Repository,则该接口会被IOC容器识别为一个Repository Bean注入到IOC容器中,进而可以再该接口中定义满足一定规则的接口
或者通过一个朱姐@RepositoryDefination注解来替代Repository接口
2.在Repository接口中声明方法
1).查询方法以 find|read|get开头
2).设计条件查询,条件的属性需要定义关键字连接
3).条件的属性以字母大写
4).支持属性的级联查询,若当前类由符合条件的属性,则优先使用,则不使用级联属性
3.通过自定义的JPQL完成update和delete操作
注意:JPQL不支持Insert操作
在@Query注解中编写JPQL语句,单必须使用@Modify进行修饰,以通知SpringData,这是一个Update或者delete
因为update和delete需要使用事务,而默认情况下springdata的每个方法上都有一个只读事务,不能完成修改操作
因此需要使用@Modify修饰