springboot 2.1.x 整合 jpa
思路 约定>配置>编码
记录一下了,方便以后复习;
版本:
java | 1.8 |
---|---|
spirngboot | v2.1.3.RELEASE |
mysql | 8.0.22 |
jpa | 2.1.3.RELEASE |
1.创键一个新的maven项目
下一步
2.配置 pom.xml 导入maven依赖
打开 pom.xml
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>springboot-jpa</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- JPA 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
</dependency>
</dependencies>
</project>
3.创键springboot 启动类
TsetUserApplication.java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class TsetUserApplication {
public static void main(String[] args) {
SpringApplication.run(TsetUserApplication.class,args);
}
}
记得启动类TsetUserApplication一定要放到最外层
4.在resources文件夹下创键 application.yml
application.yml
#设置端口号
server:
port: 8090
#数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3306/shop?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8
username: root
password: root
driverClassName: com.mysql.cj.jdbc.Driver
#jpa配置
jpa:
show-sql: true #控制台显示 sql语句
hibernate:
ddl-auto: update
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
5.创键实体类 TestUser
不需要 创键表 jap 可以根据 实体类创键
@Table(name = “testUser”)
testUser :表名
import lombok.Data;
import javax.persistence.*;
@Entity
@Data
@Table(name = "testUser")
public class TestUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
//id 主建自动增长 GenerationType.IDENTITY
private Integer id;
private String userName;
private String password;
}
6.创建dao 层接口 TestUserDao
主意 JpaRepository<TestUser,Integer>
TestUser 实体类的名称
Integer 主建的数据类型
import com.zuoxing.entity.TestUser;
import org.springframework.data.jpa.repository.JpaRepository;
public interface TestUserDao extends JpaRepository<TestUser,Integer> {
}
7.创键controller 层 TestUserController
import com.zuoxing.dao.TestUserDao;
import com.zuoxing.entity.TestUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class TestUserController {
@Autowired
private TestUserDao dao;
/**
* 查询所有
* @return
*/
@GetMapping("")
public List<TestUser> getAllTestUser(){
return dao.findAll();
}
/**
* 添加方法
* @param testUser
* @return
*/
@PostMapping("/add")
public TestUser addTestUser(TestUser testUser){
return dao.save(testUser);
}
}
8.输入地址 测试
http://localhost:8090/
没有也可以在浏览器上输入
注意是 post请求
如果浏览器不好测试的话 可以换成
@RequestMapping("/add")
下面放入项目路径图
这里简单测试一下就没有 写service层
创作不易,请标明出处
原著:一条努力的咸鱼