From 972c48d3f2f0f4912bcefd0f9a4e8698dde4bbf8 Mon Sep 17 00:00:00 2001
From: YunaiV <>
Date: Sun, 3 Nov 2019 16:36:05 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20jpa=20=E7=A4=BA=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lab-13/lab-13-jpa/pom.xml | 41 +++++++++++
.../springboot/lab13/jpa/Application.java | 7 ++
.../lab13/jpa/dataobject/UserDO.java | 73 +++++++++++++++++++
.../jpa/repository/UserRepository01.java | 12 +++
.../src/main/resources/application.yaml | 10 +++
.../jpa/repository/UserRepository01Test.java | 58 +++++++++++++++
lab-13/pom.xml | 19 +++++
pom.xml | 1 +
8 files changed, 221 insertions(+)
create mode 100644 lab-13/lab-13-jpa/pom.xml
create mode 100644 lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/Application.java
create mode 100644 lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/dataobject/UserDO.java
create mode 100644 lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/repository/UserRepository01.java
create mode 100644 lab-13/lab-13-jpa/src/main/resources/application.yaml
create mode 100644 lab-13/lab-13-jpa/src/test/java/cn/iocoder/springboot/lab13/jpa/repository/UserRepository01Test.java
create mode 100644 lab-13/pom.xml
diff --git a/lab-13/lab-13-jpa/pom.xml b/lab-13/lab-13-jpa/pom.xml
new file mode 100644
index 00000000..eea46688
--- /dev/null
+++ b/lab-13/lab-13-jpa/pom.xml
@@ -0,0 +1,41 @@
+
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.3.RELEASE
+
+
+ 4.0.0
+
+ lab-13-jpa
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ mysql
+ mysql-connector-java
+ 5.1.48
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
diff --git a/lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/Application.java b/lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/Application.java
new file mode 100644
index 00000000..c6995d4d
--- /dev/null
+++ b/lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/Application.java
@@ -0,0 +1,7 @@
+package cn.iocoder.springboot.lab13.jpa;
+
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class Application {
+}
diff --git a/lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/dataobject/UserDO.java b/lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/dataobject/UserDO.java
new file mode 100644
index 00000000..86d74abe
--- /dev/null
+++ b/lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/dataobject/UserDO.java
@@ -0,0 +1,73 @@
+package cn.iocoder.springboot.lab13.jpa.dataobject;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * 用户 DO
+ */
+@Entity(name = "users")
+public class UserDO {
+
+ /**
+ * 用户编号
+ */
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY, // strategy 设置使用数据库主键自增策略;
+ generator = "JDBC") // generator 设置插入完成后,查询最后生成的 ID 填充到该属性中。
+ private Integer id;
+ /**
+ * 账号
+ */
+ @Column(nullable = false)
+ private String username;
+ /**
+ * 密码(明文)
+ *
+ * ps:生产环境下,千万不要明文噢
+ */
+ @Column(nullable = false)
+ private String password;
+ /**
+ * 创建时间
+ */
+ @Column(name = "create_time", nullable = false)
+ private Date createTime;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public UserDO setId(Integer id) {
+ this.id = id;
+ return this;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public UserDO setUsername(String username) {
+ this.username = username;
+ return this;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public UserDO setPassword(String password) {
+ this.password = password;
+ return this;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public UserDO setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ return this;
+ }
+
+}
diff --git a/lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/repository/UserRepository01.java b/lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/repository/UserRepository01.java
new file mode 100644
index 00000000..a2b10465
--- /dev/null
+++ b/lab-13/lab-13-jpa/src/main/java/cn/iocoder/springboot/lab13/jpa/repository/UserRepository01.java
@@ -0,0 +1,12 @@
+package cn.iocoder.springboot.lab13.jpa.repository;
+
+import cn.iocoder.springboot.lab13.jpa.dataobject.UserDO;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface UserRepository01 extends CrudRepository {
+
+
+
+}
diff --git a/lab-13/lab-13-jpa/src/main/resources/application.yaml b/lab-13/lab-13-jpa/src/main/resources/application.yaml
new file mode 100644
index 00000000..8b6f33f2
--- /dev/null
+++ b/lab-13/lab-13-jpa/src/main/resources/application.yaml
@@ -0,0 +1,10 @@
+spring:
+ # datasource 数据源配置内容
+ datasource:
+ url: jdbc:mysql://47.112.193.81:3306/testb5f4?useSSL=false&useUnicode=true&characterEncoding=UTF-8
+ driver-class-name: com.mysql.jdbc.Driver
+ username: testb5f4
+ password: F4df4db0ed86@11
+ # JPA 配置内容
+ jpa:
+ show-sql: true # 打印 SQL 。生产环境,建议关闭
diff --git a/lab-13/lab-13-jpa/src/test/java/cn/iocoder/springboot/lab13/jpa/repository/UserRepository01Test.java b/lab-13/lab-13-jpa/src/test/java/cn/iocoder/springboot/lab13/jpa/repository/UserRepository01Test.java
new file mode 100644
index 00000000..2a629fbd
--- /dev/null
+++ b/lab-13/lab-13-jpa/src/test/java/cn/iocoder/springboot/lab13/jpa/repository/UserRepository01Test.java
@@ -0,0 +1,58 @@
+package cn.iocoder.springboot.lab13.jpa.repository;
+
+import cn.iocoder.springboot.lab13.jpa.dataobject.UserDO;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.util.Assert;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Optional;
+import java.util.UUID;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class UserRepository01Test {
+
+ @Autowired
+ private UserRepository01 userRepository;
+
+ @Test // 插入一条记录
+ public void testSave() {
+ UserDO user = new UserDO().setUsername(UUID.randomUUID().toString())
+ .setPassword("nicai").setCreateTime(new Date());
+ userRepository.save(user);
+ }
+
+ @Test // 更新一条记录
+ public void testUpdate() {
+ // 先查询一条记录
+ Optional userDO = userRepository.findById(1);
+ Assert.isTrue(userDO.isPresent(), "记录不能为空");
+ // 更新一条记录
+ UserDO updateUser = userDO.get();
+ updateUser.setPassword("yudaoyuanma");
+ userRepository.save(updateUser);
+ }
+
+ @Test // 根据 ID 编号,删除一条记录
+ public void testDelete() {
+ userRepository.deleteById(2);
+ }
+
+ @Test // 根据 ID 编号,查询一条记录
+ public void testSelectById() {
+ Optional userDO = userRepository.findById(1);
+ System.out.println(userDO.get());
+ }
+
+ @Test // 根据 ID 编号数组,查询多条记录
+ public void testSelectByIds() {
+ Iterable users = userRepository.findAllById(Arrays.asList(1, 4));
+ users.forEach(System.out::println);
+ }
+
+}
diff --git a/lab-13/pom.xml b/lab-13/pom.xml
new file mode 100644
index 00000000..71c68425
--- /dev/null
+++ b/lab-13/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ labs-parent
+ cn.iocoder.springboot.labs
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ lab-13
+ pom
+
+ lab-13-jpa
+
+
+
+
diff --git a/pom.xml b/pom.xml
index 9a3bb485..389b4a31 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,6 +21,7 @@
lab-10
lab-11
lab-12
+ lab-13