一,什么是SpringDataJpa
Spring Data JPA是Spring框架的一个模块,用于简化与数据库的交互和数据访问层的开发。它提供了一种简单而强大的方式来实现数据持久化,同时减少了编写大量的重复代码。 Spring Data JPA建立在JPA(Java持久化API)之上,使用了JPA的注解和标准,同时提供了许多便利的功能和特性。它使开发人员能够通过定义接口来声明数据访问层的操作,而无需编写实现类。Spring Data JPA将自动为这些接口的方法生成底层数据库操作的实现。 使用Spring Data JPA,你可以轻松地执行常见的数据库操作,如插入、更新、删除和查询数据。它还支持分页、排序、动态查询和复杂查询等高级功能。通过提供各种查询方法的命名规则,你可以根据方法名自动生成查询语句,从而进一步简化开发。
二,如何使用
1,导入依赖,创建项目时或者后续导入
2,实体类采用注解建立于数据库的映射
@Entity将该class类标记为实体
@Table(name="") 将该实体类与数据库中的表建立具体映射,数据库中的表与注解的名字采用驼峰映射,由于我的实体类为自动生成,所以这里的name和类名一致
@Id 将该属性标记为主键,
使用@GeneratedValue注解主键属性,当你的主键是自动生成时,需要添加主键自增属性,否则在后续使用中需要为你的实例化对象添加该属性,不然会报反射异常等错误,
@Column(name = "") 该注解用于标记属性名,当你的实体类属性名与数据库中表字段名不一致或无法成功映射时,使用该注解建立映射
3,编写dao层接口,继承JpaRepository<T,ID >接口,T为该接口对应的实体类,Id为实体类中的主键类型,由于基本类型不能作为泛型,所以此处为为何要求实体类中的属性尽量不得使用基本类型
(该接口并非上述SysUser的实体类语句,方法名书写还请自行探索)
在继承了该接口后,该dao层就具备了基础的增删改查 等功能,如果需要实现其他方法,Jpa支持根据方法名自动生成语句,所以只需要在该接口中按照方法命名规范书写方法即可,无需继承该dao层接口实现这些方法,以上无法满足需求时,还可使用@Query注解,配置具体的sql语句