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

目录

一、初始化springboot项目

二、引入依赖文件

三、编写配置文件

四、编写测试案例

User.java

UserDao.java

UserService.java

UserServiceimpl.java

JpaController.java

五、运行结果展示


一、初始化springboot项目

二、引入依赖文件

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.6.1</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>

三、编写配置文件

注意:需要提前建立好数据库,表可以不建。

#通用数据源配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot_jpa?charset=utf8mb4&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
# Hikari 数据源专用配置
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
# JPA 相关配置
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create

四、编写测试案例

User.java

package com.csdn.entity;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import javax.persistence.*;@Entity
@Table(name = "AUTH_USER")  //表名
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {@Id //主键ID@GeneratedValue(strategy = GenerationType.IDENTITY)  //主键自增private Long id;@Column(length = 32)  //字段最大允许长度private String username;@Column(length = 32)private String password;}

UserDao.java

package com.csdn.dao;import com.csdn.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;@Repository
public interface UserDao extends JpaRepository<User, Long> {
}

UserService.java

package com.csdn.service;import com.csdn.entity.User;import java.util.List;public interface UserService {public List<User> users();}

UserServiceimpl.java

package com.csdn.service.impl;import com.csdn.dao.UserDao;
import com.csdn.entity.User;
import com.csdn.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class UserServiceimpl implements UserService {@Autowiredprivate UserDao userDao;@Overridepublic List<User> users() {User user1 = new User(1L, "admin1", "123456");User user2 = new User(2L, "admin2", "123456");userDao.save(user1);userDao.save(user2);List<User> users = userDao.findAll();return users;}
}

JpaController.java

package com.csdn.controller;import com.csdn.entity.User;
import com.csdn.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
public class JpaController {@Autowiredprivate UserService userService;@GetMapping("/users")public List<User> users() {return userService.users();}}

五、运行结果展示

我们在启动日志中可以看到数据库的创建过程。

然后我们访问:localhost:8080/users

到这里,一个简单的整合过程就完成了。如果本篇文章对你有帮助,请一键三连支持,谢谢。

SpringBoot实战教程(7)| 整合JPA相关推荐

  1. 视频教程-SpringBoot实战教程:SpringBoot入门及前后端分离项目开发-Java

    SpringBoot实战教程:SpringBoot入门及前后端分离项目开发 十三,CSDN达人课课程作者,CSDN 博客作者,现就职于某网络科技公司任职高级 Java 开发工程师,13blog.sit ...

  2. SpringBoot2.x系列教程75--SpringBoot整合JPA、Redis实现分布式的Session共享

    SpringBoot2.x系列教程75--SpringBoot整合JPA.Redis实现分布式的Session共享 一.SpringBoot整合JPA.Redis实现分布式的Session共享 1. ...

  3. springboot springmvc mybatis_深圳嘉华学校之springboot实战教程

    Springboot实战教程 目录 第一章 springBoot概述... 2 href="https://zhuanlan.zhihu.com/write#_Toc508178432&qu ...

  4. SpringBoot实战教程(6)| 整合Druid

    Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析("OLAP"查询).Druid最常被当做数据库来用以支持实时摄取.高性能查询和高稳定运行的应用场 ...

  5. SpringBoot实战教程(4)| 整合Mybatis

    ​MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2 ...

  6. SpringBoot实战教程(1)| 整合Swagger3.0.0

    本文教你如何在SpringBoot中整合Swagger,快速实现在线接口文档. Swagger版本:3.0.0 SpringBoot版本:2.5.6 目录 一.初始化SpringBoot项目 二.引入 ...

  7. SpringBoot实战教程(8)| 整合mybatis-plus

    MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化 ...

  8. SpringBoot实战教程(5)| 整合Freemaker

    FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程 ...

  9. SpringBoot实战教程(3)| 整合Thymeleaf

    Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全代替传统JSP . 官方文档: Documentation - Thymeleaf 目录 一.初始化Sp ...

最新文章

  1. 使用Python中的卷积神经网络进行恶意软件检测
  2. 从“大数据”到“智能数据”
  3. django自定义用户表
  4. cf246E. Blood Cousins Return
  5. 简历要求中“ 扎实的JAVA基础”的学习方法
  6. Freemarker静态化页面的使用
  7. [转载] python中for语句用法_详解Python中for循环的使用_python
  8. twisted系列教程七–小插曲,延迟对象
  9. PXE无人值守系统安装配置简要说明
  10. 计算机学数字电子基础知识,什么是数字电路?新手如何快速学习数字电路基础?...
  11. 德标螺纹规格对照表_英制螺纹对照表详细介绍,英制螺丝螺纹标准
  12. linux如何修改引导分区表,修改引导记录
  13. 世界三大粮食·水稻稻米十大生产国 国稻种芯百团计划行动
  14. selenium模拟鼠标键盘(一)
  15. Docker容器基础
  16. 李永乐(七)向量组的秩、矩阵的秩——笔记
  17. IBM Bluemix 中文公众版初体验
  18. 苹果终于要认真发力智能家居了!挖来前微软副总裁掌舵其人工智能部门!
  19. iOS 13上传ipa报错
  20. 新浪微博-表情键盘的显示

热门文章

  1. OsharpNS轻量级.net core快速开发框架简明入门教程-基于Osharp实现自己的业务功能...
  2. 机器学习初探(手写数字识别)HOG图片
  3. Java语言程序设计(基础篇) 第十一章 继承和多态
  4. iOS 用Swipe手势和动画实现循环播放图片
  5. Spring框架知识要点总结(第一天)
  6. 陈式心意混元太极拳功要
  7. 判断两个字符串是否相似的函数 AnsiResemblesText 专题研究
  8. 使用app-inspector时报错connect ECONNREFUSED 127.0.0.1:8001的解决方案
  9. 必备读论文的黑科技!错过后悔!
  10. 送给程序员的 编程箴言