时间:2021-05-02
目录
JPA介绍
JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate,TopLink,JDO等ORM框架的基础上发展而来的,具有易于使用,伸缩性强等优点。从目前的开发社区的反应上看,JPA受到了极大的支持和赞扬,其中就包括了Spring与EJB3.0的开发团队。JPA是一套规范,不是一套产品,那么像Hibernate,TopLink,JDO他们是一套产品,如果说这些产品实现了这个JPA规范,那么我们就可以叫他们为JPA的实现产品。
Spring Data JPA
Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!spring data jpa让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它来实现,自己写个仓储接口后继承JpaRepository即可实现最基本的增删改查功能!
在项目中引用Spring JPA
1 在build.gradle文件中添加包引用
? 1 2 compile('org.springframework.boot:spring-boot-starter-data-jpa') compile('mysql:mysql-connector-java')2 在source的配置文件中添加mysql和jpa的相关设置
? 1 2 3 4 5 6 7 8 9 10 11 spring: datasource: url: jdbc:mysql://127.0.0.1:3306/test username: root password: root driver-class-name: com.mysql.jdbc.Driver jpa: database: MYSQL show-sql: true #显示后台处理的SQL语句 hibernate: ddl-auto: update #自动检查实体和数据库表是否一致,如果不一致则会进行更新数据库表3 添加数据库表实体,注意一些注解,@Entity表示数据表实体,@Table可以指定数据表名称,@Id表示是主键,@GeneratedValue主键升成规则,@Column表示数据列名称等等。
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import lombok.Data; @Data @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "Id") private int id; @Column(name = "Name") private String name; }4 为数据表实体添加仓储接口,因为JPA已经有了自己的标准实例,所以简单的CURD实例我们不需要写了,如果有个性化的操作,再去定义接口和实现。
? 1 2 3 4 import com.example.springdemo.model.User; import org.springframework.data.jpa.repository.JpaRepository; public interface SqlUserRepository extends JpaRepository<User, Integer> { }5 最后在controller中添加依赖注入的字段,一般使用@Autowired即可
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 @RestController @RequestMapping("/mysql") public class MysqlController { @Autowired private SqlUserRepository repository; /** * return list. * * @return */ @RequestMapping("/list") public List<User> dataList() { return repository.findAll(); } }总结
以上所述是小编给大家介绍的Spring Boot JPA如何把ORM统一起来,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://www.cnblogs.com/lori/archive/2018/04/18/8874323.html
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
什么是JPA一种规范,并非ORM框架,也就是ORM上统一的规范spring-boot-starter-data-jpa是SpringBoot的项目,包含了spr
前言Spring-data-jpa的基本介绍:JPA诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,百度百科说是JDK为了实现ORM的天下归一,目前也
上篇使用docker构建spring-boot应用,是把编译好的jar包构建到镜像中。这篇是把spring-boot连同数据库,做为一组docker服务运行起来
Spring框架就像一个家族,有众多衍生产品例如boot、security、jpa等等。但他们的基础都是Spring的ioc和aopioc提供了依赖注入的容器a
Springboot内部提供的事务管理器是根据autoconfigure来进行决定的。比如当使用jpa的时候,也就是pom中加入了spring-boot-sta