SpringBoot实战教程(7)| 整合JPA
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相关推荐
- 视频教程-SpringBoot实战教程:SpringBoot入门及前后端分离项目开发-Java
SpringBoot实战教程:SpringBoot入门及前后端分离项目开发 十三,CSDN达人课课程作者,CSDN 博客作者,现就职于某网络科技公司任职高级 Java 开发工程师,13blog.sit ...
- SpringBoot2.x系列教程75--SpringBoot整合JPA、Redis实现分布式的Session共享
SpringBoot2.x系列教程75--SpringBoot整合JPA.Redis实现分布式的Session共享 一.SpringBoot整合JPA.Redis实现分布式的Session共享 1. ...
- springboot springmvc mybatis_深圳嘉华学校之springboot实战教程
Springboot实战教程 目录 第一章 springBoot概述... 2 href="https://zhuanlan.zhihu.com/write#_Toc508178432&qu ...
- SpringBoot实战教程(6)| 整合Druid
Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析("OLAP"查询).Druid最常被当做数据库来用以支持实时摄取.高性能查询和高稳定运行的应用场 ...
- SpringBoot实战教程(4)| 整合Mybatis
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2 ...
- SpringBoot实战教程(1)| 整合Swagger3.0.0
本文教你如何在SpringBoot中整合Swagger,快速实现在线接口文档. Swagger版本:3.0.0 SpringBoot版本:2.5.6 目录 一.初始化SpringBoot项目 二.引入 ...
- SpringBoot实战教程(8)| 整合mybatis-plus
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化 ...
- SpringBoot实战教程(5)| 整合Freemaker
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程 ...
- SpringBoot实战教程(3)| 整合Thymeleaf
Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全代替传统JSP . 官方文档: Documentation - Thymeleaf 目录 一.初始化Sp ...
最新文章
- 使用Python中的卷积神经网络进行恶意软件检测
- 从“大数据”到“智能数据”
- django自定义用户表
- cf246E. Blood Cousins Return
- 简历要求中“ 扎实的JAVA基础”的学习方法
- Freemarker静态化页面的使用
- [转载] python中for语句用法_详解Python中for循环的使用_python
- twisted系列教程七–小插曲,延迟对象
- PXE无人值守系统安装配置简要说明
- 计算机学数字电子基础知识,什么是数字电路?新手如何快速学习数字电路基础?...
- 德标螺纹规格对照表_英制螺纹对照表详细介绍,英制螺丝螺纹标准
- linux如何修改引导分区表,修改引导记录
- 世界三大粮食·水稻稻米十大生产国 国稻种芯百团计划行动
- selenium模拟鼠标键盘(一)
- Docker容器基础
- 李永乐(七)向量组的秩、矩阵的秩——笔记
- IBM Bluemix 中文公众版初体验
- 苹果终于要认真发力智能家居了!挖来前微软副总裁掌舵其人工智能部门!
- iOS 13上传ipa报错
- 新浪微博-表情键盘的显示
热门文章
- OsharpNS轻量级.net core快速开发框架简明入门教程-基于Osharp实现自己的业务功能...
- 机器学习初探(手写数字识别)HOG图片
- Java语言程序设计(基础篇) 第十一章 继承和多态
- iOS 用Swipe手势和动画实现循环播放图片
- Spring框架知识要点总结(第一天)
- 陈式心意混元太极拳功要
- 判断两个字符串是否相似的函数 AnsiResemblesText 专题研究
- 使用app-inspector时报错connect ECONNREFUSED 127.0.0.1:8001的解决方案
- 必备读论文的黑科技!错过后悔!
- 送给程序员的 编程箴言