springboot对jpa的支持
springboot对jpa的支持
新建的项目

pom依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.hsl</groupId>
<artifactId>springboot03</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot03</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<mysql.version>5.1.44</mysql.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
yml配置
server:
port: 80
servlet:
context-path: /
spring:
datasource:
#1.JDBC
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
username: root
password: 1234
druid:
initial-size: 5
min-idle: 5
max-active: 20
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 30000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: true
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
filter:
stat:
merge-sql: true
slow-sql-millis: 5000
web-stat-filter:
enabled: true
url-pattern: /*
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
session-stat-enable: true
session-stat-max-count: 100
stat-view-servlet:
enabled: true
url-pattern: /druid/*
reset-enable: true
login-username: admin
login-password: admin
allow: 127.0.0.1
jpa:
hibernate:
# 新加字段时数据库表也添加字段
ddl-auto: update
show-sql: true
实体类:Students
package com.hsl.springboot03.entity;
import lombok.Data;
import javax.persistence.*;
/**
* @author water
* @site www.water.com
* @company xxx公司
* @create 2020-01-02 16:26
*/
@Data
@Entity
@Table(name="t_spring_students_2020")
public class Students {
@Id
@GeneratedValue
private Integer sid;
@Column(length = 100)
private String sname;
@Column(length = 2)
private String sex;
}
执行启动类

测试:
package com.hsl.springboot03.dao;
import com.hsl.springboot03.entity.Students;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @author water
* @site www.water.com
* @company xxx公司
* @create 2020-01-02 16:38
* 增删改查
*/
public interface StudentsDao extends JpaRepository<Students,Integer> {
}
controller层:StudentsController
package com.hsl.springboot03.controller;
import com.hsl.springboot03.dao.StudentsDao;
import com.hsl.springboot03.entity.Students;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author water
* @site www.water.com
* @company xxx公司
* @create 2020-01-02 16:45
*/
@RestController
public class StudentsController {
@Autowired
private StudentsDao studentsDao;
/**
* 删除
* @param stu
* @return
*/
@RequestMapping("/del")
public String del(Students stu){
studentsDao.delete(stu);
return "success";
}
/**
* 添加
* @param stu
* @return
*/
@RequestMapping("/add")
public String add(Students stu){
studentsDao.save(stu);
return "success";
}
/**
* 修改
* @param stu
* @return
*/
@RequestMapping("/edit")
public String edit(Students stu){
studentsDao.save(stu);
return "success";
}
/**
* 查询单个
* @param sid
* @return
*/
@RequestMapping("/selectOne")
public Students selectOne(Integer sid){
return studentsDao.findById(sid).get();
}
/**
* 查询所有
* @return
*/
@RequestMapping("/selectAll")
public List<Students> selectAll(){
return studentsDao.findAll();
}
}
查询所有

查询单个

修改

删除

添加

本文详细介绍SpringBoot项目中如何整合JPA进行数据库操作,包括pom.xml依赖配置、yml配置文件设置、实体类定义、Repository接口实现及Controller层的具体使用方法。
1万+

被折叠的 条评论
为什么被折叠?



