springboot整合JPA

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了springboot整合JPA脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

sPRing-data-jpa:就是和数据库打交道,进行数据访问的。

一:步骤:

  1.新建一个maven项目,新建一个数据库(数据库中可以没有表)

  2.导入相关依赖

  3.编写application.yML文件,添加数用来连接数据库的相关配置

  4.编写实体类,建立和数据库的映射关系

  5.编写reposITory接口,该接口继承JpaRepository

  6.编写controller层,进行数据库操作

 

二:详细过程如下(附代码):

  1.新建一个maven项目,新建一个数据库(我这里没有创建数据表),项目目录结构和数据库结构如下

springboot整合JPA

springboot整合JPA

  2.导入相关依赖,包括web,JDBC,MySQL Driver,Spring Data JPA

@H_304_34@ 1 <dePEndencies>
 2         <dependency>
 3             <groupId>org.springframework.boot</groupId>
 4             <artifactId>spring-boot-starter-data-jpa</artifactId>
 5         </dependency>
 6         <dependency>
 7             <groupId>org.springframework.boot</groupId>
 8             <artifactId>spring-boot-starter-jdbc</artifactId>
 9         </dependency>
10         <dependency>
11             <groupId>org.springframework.boot</groupId>
12             <artifactId>spring-boot-starter-web</artifactId>
13         </dependency>
14 
15         <dependency>
16             <groupId>;mySQL</groupId>
17             <artifactId>mysql-connector-java</artifactId>
18             <scope>runtime</scope>
19         </dependency>
20         <dependency>
21             <groupId>org.springframework.boot</groupId>
22             <artifactId>spring-boot-starter-test</artifactId>
23             <scope>test</scope>
24         </dependency>
25 </dependencies>

  3.在resources文件夹下新建一个application.yml文件,添加数用来连接数据库的相关配置,我这里默认数据是Hikaricp,如果想更改默认数据源,参考链接(27条消息) SpringBoot重点详解--配置数据源_pengjunlee的博客-CSDN博客_springboot配置数据源

 1 spring:
 2   datasource:
 3     url: jdbc:mysql://127.0.0.1:3306/jpa
 4     username: root
 5     password: 123456
 6     driver-class-name: com.mysql.jdbc.Driver
 7     type: com.alibaba.druid.pool.DruidDataSource
 8   #数据库的操作配置
 9   jpa:
10     hibernate:
11       #更新或者创建数据表
12       ddl-auto: update
13     #如果有sql语句操作会在控制台显示相应的数据库操作信息
14     show-sql: true

  4.在entity文件夹新建一个User.java类文件,添加和数据库映射关系的代码

 1 package com.xiaoma.springboot.entity;
 2 
 3 import javax.persistence.*;
 4 
 5 @Entity     //告诉JPA这是一个实体类
 6 @Table(name = "tbl_user")   //建立和数据表的映射关系
 7 public class User {
 8     @Id     //表示这个属性为主键
 9     @GeneratedValue(strategy = GenerationType.IDENTITY)     //表示这个属性为自增主键
10     private Integer id;
11 
12     @Column
13     private String username;
14     private String password;
15 
16     public Integer getId() {
17         return id;
18     }
19 
20     public void setId(Integer id) {
21         this.id = id;
22     }
23 
24     public String getUsername() {
25         return username;
26     }
27 
28     public void setUsername(String username) {
29         this.username = username;
30     }
31 
32     public String getPassword() {
33         return password;
34     }
35 
36     public void setPassword(String password) {
37         this.password = password;
38     }
39 }

  5.编写repository接口,这个接口继承JpaRepository,现在运行一下程序控制台会输出如下信息。

1 package com.xiaoma.springboot.repository;
2 
3 import com.xiaoma.springboot.entity.User;
4 import org.springframework.data.jpa.repository.JpaRepository;
5 
6 //第一个参数是实体类类名,第二个参数是主键类型
7 public interface UserRepository extends JpaRepository<User,Integer> {
8 }

springboot整合JPA

  6.编写Controller层,操作数据库,这里实现插入与查询功能

 1 package com.xiaoma.springboot.controller;
 2 
 3 import com.xiaoma.springboot.entity.User;
 4 import com.xiaoma.springboot.repository.UserRepository;
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.web.bind.annotation.GetMapping;
 7 import org.springframework.web.bind.annotation.PathVARiable;
 8 import org.springframework.web.bind.annotation.RestController;
 9 
10 @RestController
11 public class UserController {
12     @Autowired
13     UserRepository userRepository;
14 
15     //通过getUser方法去查询数据库中的数据,根据id去查询
16     @GetMapping("/user/{id}")
17     public User getUser(@PathVariable("id") Integer id){
18         //因为我们的UserRepository继承了Repository类
19         //而Repository类就已经给我们实现了很多进行数据库操作的方法,所以直接去调用这里的方法就行了
20         User user=userRepository.findById(id).orElse(null);
21         return user;
22     }
23 
24     //实现插入功能
25     @GetMapping("/user")
26     public User insertUser(User user){
27         //调用Repository类中的save方法来插入数据
28         User save = userRepository.save(user);
29         return save;
30     }
31 }

  7.运行程序,打开浏览器输入localhost:8080/user?id=1&&username=xiaoma&&password=123后数据库就会新增一条记录,输入localhost:8080/user/1就会将刚刚插入的数据显示出来

 

 

 

脚本宝典总结

以上是脚本宝典为你收集整理的springboot整合JPA全部内容,希望文章能够帮你解决springboot整合JPA所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。