JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

JPA 的目标之一是制定一个可以由很多供应商实现的API,并且开发人员可以编码来实现该API,而不是使用私有供应商特有的API。
JPA是需要Provider来实现其功能的,hibernate就是JPA Provider中很强的一个,应该说无人能出其右。从功能上来说,JPA就是Hibernate功能的一个子集。
添加相关依赖
添加spring-boot-starter-jdbc依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa
</artifactId>
</dependency>
添加MySQL连接类和连接池类:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
配置数据源,在application.properties文件配置:
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 username: root password: 123456 jpa: hibernate: ddl-auto: update # 第一次简表create 后面用update show-sql: true
注意,如果通过jpa在数据库中建表,将jpa.hibernate,ddl-auto改为create,建完表之后,要改为update,要不然每次重启工程会删除表并新建。
创建实体类
通过@Entity 表明是一个映射的实体类, @Id表明id, @GeneratedValue 字段自动生成
@Entity
public class Account {
@Id
@GeneratedValue
private int id ;
private String name ;
private double money;
... 省略getter setter
}
Dao层
数据访问层,通过编写一个继承自 JpaRepository 的接口就能完成数据访问,其中包含了几本的单表查询的方法,非常的方便。值得注意的是,这个Account 对象名,而不是具体的表名,另外Interger是主键的类型,一般为Integer或者Long
public interface AccountDao extends JpaRepository<Account,Integer> {
}
Web层
在这个栗子中我简略了service层的书写,在实际开发中,不可省略。新写一个controller,写几个restful api来测试数据的访问。
@RestController
@RequestMapping("/account")
public class AccountController {
@Autowired
AccountDao accountDao;
@RequestMapping(value = "/list", method = RequestMethod.GET)
public List<Account> getAccounts() {
return accountDao.findAll();
}
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public Account getAccountById(@PathVariable("id") int id) {
return accountDao.findOne(id);
}
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
public String updateAccount(@PathVariable("id") int id, @RequestParam(value = "name", required = true) String name,
@RequestParam(value = "money", required = true) double money) {
Account account = new Account();
account.setMoney(money);
account.setName(name);
account.setId(id);
Account account1 = accountDao.saveAndFlush(account);
return account1.toString();
}
@RequestMapping(value = "", method = RequestMethod.POST)
public String postAccount(@RequestParam(value = "name") String name,
@RequestParam(value = "money") double money) {
Account account = new Account();
account.setMoney(money);
account.setName(name);
Account account1 = accountDao.save(account);
return account1.toString();
}
}
通过postman请求测试,代码已经全部通过测试。
源码下载:https://github.com/forezp/SpringBootLearning
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# spring
# boot
# jpa
# SpringBoot
# 整合JPA
# springboot整合JPA过程解析
# SpringBoot整合JPA数据源方法及配置解析
# 详解SpringBoot是如何整合JPA的
# Springboot整合JPA配置多数据源流程详解
# SpringBoot整合JPA框架实现过程讲解
# 使用SpringBoot整合Jpa的过程详解
# SpringBoot整合JPA详细代码实例
# 来实现
# 的是
# 而不是
# 是一个
# 几个
# 在这个
# 就能
# 一是
# 并将
# 很强
# 实体类
# 特有的
# 应该说
# 重启
# 数据库中
# 开发人员
# 自动生成
# 无人能
# 大家多多
# 源码下载
相关文章:
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
如何确保FTP站点访问权限与数据传输安全?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
建站主机选购指南与交易推荐:核心配置解析
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何挑选高效建站主机与优质域名?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
如何用西部建站助手快速创建专业网站?
山东网站制作公司有哪些,山东大源集团官网?
建站之星伪静态规则如何正确配置?
内网网站制作软件,内网的网站如何发布到外网?
建站三合一如何选?哪家性价比更高?
html制作网站的步骤有哪些,iapp如何添加网页?
,想在网上投简历,哪几个网站比较好?
如何通过NAT技术实现内网高效建站?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
设计网站制作公司有哪些,制作网页教程?
北京专业网站制作设计师招聘,北京白云观官方网站?
Android滚轮选择时间控件使用详解
C++如何编写函数模板?(泛型编程入门)
如何在自有机房高效搭建专业网站?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何快速查询网址的建站时间与历史轨迹?
内部网站制作流程,如何建立公司内部网站?
定制建站流程解析:需求评估与SEO优化功能开发指南
非常酷的网站设计制作软件,酷培ai教育官方网站?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
制作农业网站的软件,比较好的农业网站推荐一下?
如何选择高性价比服务器搭建个人网站?
seo网站制作优化,网站SEO优化步骤有哪些?
linux top下的 minerd 木马清除方法
建站之星导航如何优化提升用户体验?
如何通过智能用户系统一键生成高效建站方案?
如何通过建站之星自助学习解决操作问题?
C#怎么创建控制台应用 C# Console App项目创建方法
已有域名和空间如何搭建网站?
威客平台建站流程解析:高效搭建教程与设计优化方案
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
网站制作软件有哪些,制图软件有哪些?
如何在阿里云购买域名并搭建网站?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
制作旅游网站html,怎样注册旅游网站?
如何在腾讯云服务器快速搭建个人网站?
如何通过西部建站助手安装IIS服务器?
太原网站制作公司有哪些,网约车营运证查询官网?
定制建站策划方案_专业建站与网站建设方案一站式指南
网站代码制作软件有哪些,如何生成自己网站的代码?
*请认真填写需求信息,我们会在24小时内与您取得联系。