欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring Boot JPA如何把ORM统一起来

程序员文章站 2023-12-09 19:29:21
jpa介绍 jpa(java persistence api)是sun官方提出的java持久化规范。它为java开发人员提供了一种对象/关联映射工具来管理java应用中的...

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文件中添加包引用

  compile('org.springframework.boot:spring-boot-starter-data-jpa')
  compile('mysql:mysql-connector-java')

2 在source的配置文件中添加mysql和jpa的相关设置

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表示数据列名称等等。

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实例我们不需要写了,如果有个性化的操作,再去定义接口和实现。

import com.example.springdemo.model.user;
import org.springframework.data.jpa.repository.jparepository;
public interface sqluserrepository extends jparepository<user, integer> {
}

5 最后在controller中添加依赖注入的字段,一般使用@autowired即可

@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统一起来,希望对大家有所帮助