Spring Boot JPA如何把ORM统一起来
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:
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统一起来,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对无名的支持!
同类资源
- FindFileForm搜索文件和目录,然后复制文件
搜索文件和目录,然后复制文件绿色版,界面很丑,没有使用visualstudio写着实费劲。...
- 窗口信息工具箱Winformation v1.0.8
窗口信息工具箱Winformationv1.0.8绿色版,如果不将按钮拖到其它窗口上,提示是否恢复到桌面,以便将之前改变过...
- Winform可视化编辑打印模板,指定模板选择打印机打印
Winform可视化编辑打印模板,指定模板选择打印机打印,json格式自定义模板本文件感兴趣的可以参考一下,自定义...
- superboot210.bin
superboot210.bin本文件感兴趣的可以参考一下,smart210光盘内文件,superboot210.bin。...
- Java基于springboot教务管理系统
Java基于springboot教务管理系统本文件感兴趣的可以参考一下,帮助学校管理教务系统,用一个帐号解决学校教务...
- Java EE企业级应用开发教程Spring+Spring MVC+MyBatis实验报告
JavaEE企业级应用开发教程Spring+SpringMVC+MyBatis实验报告本文件感兴趣的可以参考一下。...
- springBootNoMaven实现定时任务功能
springBootNoMaven本文件感兴趣的可以参考一下,不使用maven环境,创建springboot项目,实现了定时任务功能简单...
- WinForm在PictrueBox控件上建立矩形选框裁剪图片
WinForm在PictrueBox控件上建立矩形选框裁剪图片本文件感兴趣的可以参考一下,学会了操作的基本步骤。...
- C#Winform锁屏功能,锁当前项目
C#Winform锁屏功能,锁当前项目本文件感兴趣的可以参考一下,系统为WinForm实现,中有一个主窗体。...
- agilebpm-base-spring-boot.rar
agilebpm-base-spring-boot.rar本文件感兴趣的可以参考一下,基于activiti实现的审批工作流web端项目。...
- winform利用ffmpeg给视频添加背景乐
winform利用ffmpeg给视频添加背景乐本文件感兴趣的可以参考一下,项目需要给视频加上背景音乐。...
- zhjpabc模块1.67普通列表框右键可以选择表项
易语言zhjpabc模块1.67普通列表框右键可以选择表项例子,添加模块应用后直接可以查看具体的使用方法了,本次...