diff --git a/lab-02/authorization-code-server/target/classes/application.properties b/lab-02/authorization-code-server/target/classes/application.properties
new file mode 100644
index 00000000..5c6bfc10
--- /dev/null
+++ b/lab-02/authorization-code-server/target/classes/application.properties
@@ -0,0 +1,3 @@
+# Spring Security Setting
+security.user.name=yunai
+security.user.password=1024
\ No newline at end of file
diff --git a/lab-02/implicit-server/target/classes/application.properties b/lab-02/implicit-server/target/classes/application.properties
new file mode 100644
index 00000000..5c6bfc10
--- /dev/null
+++ b/lab-02/implicit-server/target/classes/application.properties
@@ -0,0 +1,3 @@
+# Spring Security Setting
+security.user.name=yunai
+security.user.password=1024
\ No newline at end of file
diff --git a/lab-02/resource-owner-password-credentials-server-by-jdbc-token-store/target/classes/application.properties b/lab-02/resource-owner-password-credentials-server-by-jdbc-token-store/target/classes/application.properties
new file mode 100644
index 00000000..a2fecaa3
--- /dev/null
+++ b/lab-02/resource-owner-password-credentials-server-by-jdbc-token-store/target/classes/application.properties
@@ -0,0 +1,9 @@
+# Spring Security Setting
+security.user.name=yunai
+security.user.password=1024
+
+##################### MySQL #####################
+jdbc.driverClassName=com.mysql.jdbc.Driver
+jdbc.url=jdbc:mysql://127.0.0.1:33061/oauth2
+jdbc.user=root
+jdbc.pass=123456
\ No newline at end of file
diff --git a/lab-02/resource-owner-password-credentials-server-by-jdbc-token-store/target/classes/data.sql b/lab-02/resource-owner-password-credentials-server-by-jdbc-token-store/target/classes/data.sql
new file mode 100644
index 00000000..807bf514
--- /dev/null
+++ b/lab-02/resource-owner-password-credentials-server-by-jdbc-token-store/target/classes/data.sql
@@ -0,0 +1,21 @@
+INSERT INTO oauth_client_details
+ (client_id, client_secret, scope, authorized_grant_types,
+ web_server_redirect_uri, authorities, access_token_validity,
+ refresh_token_validity, additional_information, autoapprove)
+VALUES
+ ('fooClientIdPassword', 'secret', 'foo,read,write',
+ 'password,authorization_code,refresh_token', null, null, 36000, 36000, null, true);
+INSERT INTO oauth_client_details
+ (client_id, client_secret, scope, authorized_grant_types,
+ web_server_redirect_uri, authorities, access_token_validity,
+ refresh_token_validity, additional_information, autoapprove)
+VALUES
+ ('sampleClientId', 'secret', 'read,write,foo,bar',
+ 'implicit', null, null, 36000, 36000, null, false);
+INSERT INTO oauth_client_details
+ (client_id, client_secret, scope, authorized_grant_types,
+ web_server_redirect_uri, authorities, access_token_validity,
+ refresh_token_validity, additional_information, autoapprove)
+VALUES
+ ('barClientIdPassword', 'secret', 'bar,read,write',
+ 'password,authorization_code,refresh_token', null, null, 36000, 36000, null, true);
\ No newline at end of file
diff --git a/lab-02/resource-owner-password-credentials-server-by-jdbc-token-store/target/classes/schema.sql b/lab-02/resource-owner-password-credentials-server-by-jdbc-token-store/target/classes/schema.sql
new file mode 100644
index 00000000..945d05d1
--- /dev/null
+++ b/lab-02/resource-owner-password-credentials-server-by-jdbc-token-store/target/classes/schema.sql
@@ -0,0 +1,66 @@
+--------------- MySQL ---------------
+drop table if exists oauth_client_details;
+create table oauth_client_details (
+ client_id VARCHAR(255) PRIMARY KEY,
+ resource_ids VARCHAR(255),
+ client_secret VARCHAR(255),
+ scope VARCHAR(255),
+ authorized_grant_types VARCHAR(255),
+ web_server_redirect_uri VARCHAR(255),
+ authorities VARCHAR(255),
+ access_token_validity INTEGER,
+ refresh_token_validity INTEGER,
+ additional_information VARCHAR(4096),
+ autoapprove VARCHAR(255)
+);
+
+create table if not exists oauth_client_token (
+ token_id VARCHAR(255),
+ token LONG VARBINARY,
+ authentication_id VARCHAR(255) PRIMARY KEY,
+ user_name VARCHAR(255),
+ client_id VARCHAR(255)
+);
+
+create table if not exists oauth_access_token (
+ token_id VARCHAR(255),
+ token LONG VARBINARY,
+ authentication_id VARCHAR(255) PRIMARY KEY,
+ user_name VARCHAR(255),
+ client_id VARCHAR(255),
+ authentication LONG VARBINARY,
+ refresh_token VARCHAR(255)
+);
+
+create table if not exists oauth_refresh_token (
+ token_id VARCHAR(255),
+ token LONG VARBINARY,
+ authentication LONG VARBINARY
+);
+
+create table if not exists oauth_code (
+ code VARCHAR(255), authentication LONG VARBINARY
+);
+
+create table if not exists oauth_approvals (
+ userId VARCHAR(255),
+ clientId VARCHAR(255),
+ scope VARCHAR(255),
+ status VARCHAR(10),
+ expiresAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ lastModifiedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
+);
+
+create table if not exists ClientDetails (
+ appId VARCHAR(255) PRIMARY KEY,
+ resourceIds VARCHAR(255),
+ appSecret VARCHAR(255),
+ scope VARCHAR(255),
+ grantTypes VARCHAR(255),
+ redirectUrl VARCHAR(255),
+ authorities VARCHAR(255),
+ access_token_validity INTEGER,
+ refresh_token_validity INTEGER,
+ additionalInformation VARCHAR(4096),
+ autoApproveScopes VARCHAR(255)
+);
\ No newline at end of file
diff --git a/lab-02/resource-owner-password-credentials-server-with-refresh-token/target/classes/application.properties b/lab-02/resource-owner-password-credentials-server-with-refresh-token/target/classes/application.properties
new file mode 100644
index 00000000..5c6bfc10
--- /dev/null
+++ b/lab-02/resource-owner-password-credentials-server-with-refresh-token/target/classes/application.properties
@@ -0,0 +1,3 @@
+# Spring Security Setting
+security.user.name=yunai
+security.user.password=1024
\ No newline at end of file
diff --git a/lab-02/resource-owner-password-credentials-server-with-revoke-token/target/classes/application.properties b/lab-02/resource-owner-password-credentials-server-with-revoke-token/target/classes/application.properties
new file mode 100644
index 00000000..5c6bfc10
--- /dev/null
+++ b/lab-02/resource-owner-password-credentials-server-with-revoke-token/target/classes/application.properties
@@ -0,0 +1,3 @@
+# Spring Security Setting
+security.user.name=yunai
+security.user.password=1024
\ No newline at end of file
diff --git a/lab-02/resource-owner-password-credentials-server/target/classes/application.properties b/lab-02/resource-owner-password-credentials-server/target/classes/application.properties
new file mode 100644
index 00000000..5c6bfc10
--- /dev/null
+++ b/lab-02/resource-owner-password-credentials-server/target/classes/application.properties
@@ -0,0 +1,3 @@
+# Spring Security Setting
+security.user.name=yunai
+security.user.password=1024
\ No newline at end of file
diff --git a/lab-03/target/classes/application.properties b/lab-03/target/classes/application.properties
new file mode 100644
index 00000000..98ecb9ed
--- /dev/null
+++ b/lab-03/target/classes/application.properties
@@ -0,0 +1,29 @@
+#============== kafka ===================
+# 指定kafka 代理地址,可以多个
+spring.kafka.bootstrap-servers=127.0.0.1:9092
+
+#=============== provider =======================
+
+spring.kafka.producer.retries=0
+# 每次批量发送消息的数量
+spring.kafka.producer.batch-size=16384
+spring.kafka.producer.buffer-memory=33554432
+
+# 指定消息key和消息体的编解码方式
+spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
+spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
+
+#=============== consumer =======================
+# 指定默认消费者group id
+spring.kafka.consumer.group-id=test-consumer-group6
+
+spring.kafka.listener.concurrency=10
+
+spring.kafka.consumer.auto-offset-reset=earliest
+spring.kafka.consumer.enable-auto-commit=true
+spring.kafka.consumer.auto-commit-interval=100
+enable.auto.commit=false
+
+# 指定消息key和消息体的编解码方式
+spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
+spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
diff --git a/lab-05/lab-05-jetty/target/lab-05-jetty-1.0-SNAPSHOT.jar.original b/lab-05/lab-05-jetty/target/lab-05-jetty-1.0-SNAPSHOT.jar.original
new file mode 100644
index 00000000..acd02205
Binary files /dev/null and b/lab-05/lab-05-jetty/target/lab-05-jetty-1.0-SNAPSHOT.jar.original differ
diff --git a/lab-05/lab-05-jetty/target/maven-archiver/pom.properties b/lab-05/lab-05-jetty/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..d6287216
--- /dev/null
+++ b/lab-05/lab-05-jetty/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.3.9
+version=1.0-SNAPSHOT
+groupId=cn.iocoder.springboot.labs
+artifactId=lab-05-jetty
diff --git a/lab-05/lab-05-jetty/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lab-05/lab-05-jetty/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-05/lab-05-jetty/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lab-05/lab-05-jetty/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 00000000..74eba13d
--- /dev/null
+++ b/lab-05/lab-05-jetty/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-05/lab-05-jetty/src/main/java/cn/iocoder/springboot/labs/lab05/tomcat/JettyApplication.java
+/Users/yunai/Java/SpringBoot-Labs/lab-05/lab-05-jetty/src/main/java/cn/iocoder/springboot/labs/lab05/tomcat/Controller.java
diff --git a/lab-05/lab-05-jetty/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lab-05/lab-05-jetty/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-05/lab-05-tomcat-apr/target/lab-05-tomcat-apr-1.0-SNAPSHOT.jar.original b/lab-05/lab-05-tomcat-apr/target/lab-05-tomcat-apr-1.0-SNAPSHOT.jar.original
new file mode 100644
index 00000000..00eac83e
Binary files /dev/null and b/lab-05/lab-05-tomcat-apr/target/lab-05-tomcat-apr-1.0-SNAPSHOT.jar.original differ
diff --git a/lab-05/lab-05-tomcat-apr/target/maven-archiver/pom.properties b/lab-05/lab-05-tomcat-apr/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..4304aed6
--- /dev/null
+++ b/lab-05/lab-05-tomcat-apr/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.3.9
+version=1.0-SNAPSHOT
+groupId=cn.iocoder.springboot.labs
+artifactId=lab-05-tomcat-apr
diff --git a/lab-05/lab-05-tomcat-apr/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lab-05/lab-05-tomcat-apr/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-05/lab-05-tomcat-apr/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lab-05/lab-05-tomcat-apr/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 00000000..43d9fc47
--- /dev/null
+++ b/lab-05/lab-05-tomcat-apr/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-05/lab-05-tomcat-apr/src/main/java/cn/iocoder/springboot/labs/lab05/tomcat/Controller.java
+/Users/yunai/Java/SpringBoot-Labs/lab-05/lab-05-tomcat-apr/src/main/java/cn/iocoder/springboot/labs/lab05/tomcat/TomcatAprApplication.java
diff --git a/lab-05/lab-05-tomcat-apr/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lab-05/lab-05-tomcat-apr/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-05/lab-05-tomcat/target/lab-05-tomcat-1.0-SNAPSHOT.jar.original b/lab-05/lab-05-tomcat/target/lab-05-tomcat-1.0-SNAPSHOT.jar.original
new file mode 100644
index 00000000..3267398e
Binary files /dev/null and b/lab-05/lab-05-tomcat/target/lab-05-tomcat-1.0-SNAPSHOT.jar.original differ
diff --git a/lab-05/lab-05-tomcat/target/maven-archiver/pom.properties b/lab-05/lab-05-tomcat/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..45f7db99
--- /dev/null
+++ b/lab-05/lab-05-tomcat/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.3.9
+version=1.0-SNAPSHOT
+groupId=cn.iocoder.springboot.labs
+artifactId=lab-05-tomcat
diff --git a/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/compile/default-cli/createdFiles.lst b/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/compile/default-cli/createdFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/compile/default-cli/inputFiles.lst b/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/compile/default-cli/inputFiles.lst
new file mode 100644
index 00000000..7f04c06f
--- /dev/null
+++ b/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/compile/default-cli/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-05/lab-05-tomcat/src/main/java/cn/iocoder/springboot/labs/lab05/tomcat/TomcatApplication.java
+/Users/yunai/Java/SpringBoot-Labs/lab-05/lab-05-tomcat/src/main/java/cn/iocoder/springboot/labs/lab05/tomcat/Controller.java
diff --git a/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 00000000..7f04c06f
--- /dev/null
+++ b/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-05/lab-05-tomcat/src/main/java/cn/iocoder/springboot/labs/lab05/tomcat/TomcatApplication.java
+/Users/yunai/Java/SpringBoot-Labs/lab-05/lab-05-tomcat/src/main/java/cn/iocoder/springboot/labs/lab05/tomcat/Controller.java
diff --git a/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lab-05/lab-05-tomcat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-05/lab-05-undertow/target/lab-05-undertow-1.0.0.jar.original b/lab-05/lab-05-undertow/target/lab-05-undertow-1.0.0.jar.original
new file mode 100644
index 00000000..e79b42b0
Binary files /dev/null and b/lab-05/lab-05-undertow/target/lab-05-undertow-1.0.0.jar.original differ
diff --git a/lab-05/lab-05-undertow/target/maven-archiver/pom.properties b/lab-05/lab-05-undertow/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..5f819589
--- /dev/null
+++ b/lab-05/lab-05-undertow/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.3.9
+version=1.0.0
+groupId=cn.iocoder.springboot.labs
+artifactId=lab-05-undertow
diff --git a/lab-05/lab-05-undertow/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lab-05/lab-05-undertow/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-05/lab-05-undertow/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lab-05/lab-05-undertow/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 00000000..c608aea7
--- /dev/null
+++ b/lab-05/lab-05-undertow/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-05/lab-05-undertow/src/main/java/cn/iocoder/springboot/labs/lab05/undertow/UndertowApplication.java
+/Users/yunai/Java/SpringBoot-Labs/lab-05/lab-05-undertow/src/main/java/cn/iocoder/springboot/labs/lab05/undertow/Controller.java
diff --git a/lab-05/lab-05-undertow/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lab-05/lab-05-undertow/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-06/lab-06-springmvc-tomcat/target/lab-06-springmvc-tomcat-1.0-SNAPSHOT.jar.original b/lab-06/lab-06-springmvc-tomcat/target/lab-06-springmvc-tomcat-1.0-SNAPSHOT.jar.original
new file mode 100644
index 00000000..7694b89f
Binary files /dev/null and b/lab-06/lab-06-springmvc-tomcat/target/lab-06-springmvc-tomcat-1.0-SNAPSHOT.jar.original differ
diff --git a/lab-06/lab-06-springmvc-tomcat/target/maven-archiver/pom.properties b/lab-06/lab-06-springmvc-tomcat/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..2730ed5b
--- /dev/null
+++ b/lab-06/lab-06-springmvc-tomcat/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.3.9
+version=1.0-SNAPSHOT
+groupId=cn.iocoder.springboot.labs
+artifactId=lab-06-springmvc-tomcat
diff --git a/lab-06/lab-06-springmvc-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lab-06/lab-06-springmvc-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-06/lab-06-springmvc-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lab-06/lab-06-springmvc-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 00000000..4c5d1789
--- /dev/null
+++ b/lab-06/lab-06-springmvc-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-06/lab-06-springmvc-tomcat/src/main/java/cn/iocoder/springboot/labs/lab06/springmvc/SpringMVCApplication.java
+/Users/yunai/Java/SpringBoot-Labs/lab-06/lab-06-springmvc-tomcat/src/main/java/cn/iocoder/springboot/labs/lab06/springmvc/Controller.java
diff --git a/lab-06/lab-06-springmvc-tomcat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lab-06/lab-06-springmvc-tomcat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-06/lab-06-webflux-netty/target/lab-06-webflux-netty-1.0-SNAPSHOT.jar.original b/lab-06/lab-06-webflux-netty/target/lab-06-webflux-netty-1.0-SNAPSHOT.jar.original
new file mode 100644
index 00000000..b34de9c6
Binary files /dev/null and b/lab-06/lab-06-webflux-netty/target/lab-06-webflux-netty-1.0-SNAPSHOT.jar.original differ
diff --git a/lab-06/lab-06-webflux-netty/target/maven-archiver/pom.properties b/lab-06/lab-06-webflux-netty/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..427bd89f
--- /dev/null
+++ b/lab-06/lab-06-webflux-netty/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.3.9
+version=1.0-SNAPSHOT
+groupId=cn.iocoder.springboot.labs
+artifactId=lab-06-webflux-netty
diff --git a/lab-06/lab-06-webflux-netty/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lab-06/lab-06-webflux-netty/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 00000000..962185f8
--- /dev/null
+++ b/lab-06/lab-06-webflux-netty/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1 @@
+cn/iocoder/springboot/labs/lab06/webflux/WebfluxNettyApplication.class
diff --git a/lab-06/lab-06-webflux-netty/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lab-06/lab-06-webflux-netty/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 00000000..936478f6
--- /dev/null
+++ b/lab-06/lab-06-webflux-netty/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-06/lab-06-webflux-netty/src/main/java/cn/iocoder/springboot/labs/lab06/webflux/WebfluxNettyApplication.java
+/Users/yunai/Java/SpringBoot-Labs/lab-06/lab-06-webflux-netty/src/main/java/cn/iocoder/springboot/labs/lab06/webflux/Controller.java
diff --git a/lab-06/lab-06-webflux-netty/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lab-06/lab-06-webflux-netty/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-06/lab-06-webflux-tomcat/target/lab-06-webflux-tomcat-1.0-SNAPSHOT.jar.original b/lab-06/lab-06-webflux-tomcat/target/lab-06-webflux-tomcat-1.0-SNAPSHOT.jar.original
new file mode 100644
index 00000000..81fffc94
Binary files /dev/null and b/lab-06/lab-06-webflux-tomcat/target/lab-06-webflux-tomcat-1.0-SNAPSHOT.jar.original differ
diff --git a/lab-06/lab-06-webflux-tomcat/target/maven-archiver/pom.properties b/lab-06/lab-06-webflux-tomcat/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..20f075f1
--- /dev/null
+++ b/lab-06/lab-06-webflux-tomcat/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.3.9
+version=1.0-SNAPSHOT
+groupId=cn.iocoder.springboot.labs
+artifactId=lab-06-webflux-tomcat
diff --git a/lab-06/lab-06-webflux-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lab-06/lab-06-webflux-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-06/lab-06-webflux-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lab-06/lab-06-webflux-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 00000000..c5ce362a
--- /dev/null
+++ b/lab-06/lab-06-webflux-tomcat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-06/lab-06-webflux-tomcat/src/main/java/cn/iocoder/springboot/labs/lab06/webflux/WebfluxTomcatApplication.java
+/Users/yunai/Java/SpringBoot-Labs/lab-06/lab-06-webflux-tomcat/src/main/java/cn/iocoder/springboot/labs/lab06/webflux/Controller.java
diff --git a/lab-06/lab-06-webflux-tomcat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lab-06/lab-06-webflux-tomcat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-07/lab-07-spring-cloud-gateway/target/classes/application.yml b/lab-07/lab-07-spring-cloud-gateway/target/classes/application.yml
new file mode 100644
index 00000000..11e54c54
--- /dev/null
+++ b/lab-07/lab-07-spring-cloud-gateway/target/classes/application.yml
@@ -0,0 +1,2 @@
+server:
+ port: 8081
diff --git a/lab-07/lab-07-spring-cloud-gateway/target/lab-07-spring-cloud-gateway-1.0.0.jar.original b/lab-07/lab-07-spring-cloud-gateway/target/lab-07-spring-cloud-gateway-1.0.0.jar.original
new file mode 100644
index 00000000..2f02300a
Binary files /dev/null and b/lab-07/lab-07-spring-cloud-gateway/target/lab-07-spring-cloud-gateway-1.0.0.jar.original differ
diff --git a/lab-07/lab-07-spring-cloud-gateway/target/lab-07-spring-cloud-gateway-2.1.3.RELEASE.jar.original b/lab-07/lab-07-spring-cloud-gateway/target/lab-07-spring-cloud-gateway-2.1.3.RELEASE.jar.original
new file mode 100644
index 00000000..e1c5e2d9
Binary files /dev/null and b/lab-07/lab-07-spring-cloud-gateway/target/lab-07-spring-cloud-gateway-2.1.3.RELEASE.jar.original differ
diff --git a/lab-07/lab-07-spring-cloud-gateway/target/maven-archiver/pom.properties b/lab-07/lab-07-spring-cloud-gateway/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..83070e39
--- /dev/null
+++ b/lab-07/lab-07-spring-cloud-gateway/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.3.9
+version=1.0.0
+groupId=org.springframework.boot
+artifactId=lab-07-spring-cloud-gateway
diff --git a/lab-07/lab-07-spring-cloud-gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lab-07/lab-07-spring-cloud-gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-07/lab-07-spring-cloud-gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lab-07/lab-07-spring-cloud-gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 00000000..9ea05ec0
--- /dev/null
+++ b/lab-07/lab-07-spring-cloud-gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-07/lab-07-spring-cloud-gateway/src/main/java/cn/iocoder/springboot/labs/lab07/springcloudgateway/SpringCloudGatewayApplication.java
diff --git a/lab-07/lab-07-spring-cloud-gateway/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lab-07/lab-07-spring-cloud-gateway/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-07/lab-07-zuul/target/classes/application.yml b/lab-07/lab-07-zuul/target/classes/application.yml
new file mode 100644
index 00000000..850b0383
--- /dev/null
+++ b/lab-07/lab-07-zuul/target/classes/application.yml
@@ -0,0 +1,13 @@
+zuul:
+ routes:
+ static:
+ path: /hello.txt
+ url: http://127.0.0.1:8000/
+ stripPrefix: false
+ api:
+ path: /**
+ url: http://127.0.0.1:8080
+ include-debug-header: true
+
+server:
+ port: 8081
diff --git a/lab-07/lab-07-zuul/target/lab-07-zuul-1.0.0.jar.original b/lab-07/lab-07-zuul/target/lab-07-zuul-1.0.0.jar.original
new file mode 100644
index 00000000..c7ba883b
Binary files /dev/null and b/lab-07/lab-07-zuul/target/lab-07-zuul-1.0.0.jar.original differ
diff --git a/lab-07/lab-07-zuul/target/lab-07-zuul-2.1.3.RELEASE.jar.original b/lab-07/lab-07-zuul/target/lab-07-zuul-2.1.3.RELEASE.jar.original
new file mode 100644
index 00000000..ac62b901
Binary files /dev/null and b/lab-07/lab-07-zuul/target/lab-07-zuul-2.1.3.RELEASE.jar.original differ
diff --git a/lab-07/lab-07-zuul/target/maven-archiver/pom.properties b/lab-07/lab-07-zuul/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..a3c310fa
--- /dev/null
+++ b/lab-07/lab-07-zuul/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.3.9
+version=1.0.0
+groupId=org.springframework.boot
+artifactId=lab-07-zuul
diff --git a/lab-07/lab-07-zuul/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lab-07/lab-07-zuul/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 00000000..e20e2f84
--- /dev/null
+++ b/lab-07/lab-07-zuul/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1 @@
+cn/iocoder/springboot/labs/lab07/zuul/ZuulApplication.class
diff --git a/lab-07/lab-07-zuul/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lab-07/lab-07-zuul/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 00000000..d9aaf645
--- /dev/null
+++ b/lab-07/lab-07-zuul/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-07/lab-07-zuul/src/main/java/cn/iocoder/springboot/labs/lab07/zuul/ZuulApplication.java
diff --git a/lab-07/lab-07-zuul/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lab-07/lab-07-zuul/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-08/target/classes/application.yaml b/lab-08/target/classes/application.yaml
new file mode 100644
index 00000000..d1491f05
--- /dev/null
+++ b/lab-08/target/classes/application.yaml
@@ -0,0 +1,22 @@
+spring:
+ application:
+ name: user-application
+ # jpa
+ redis:
+ password:
+ database: 0
+ port: 6379
+ host: 127.0.0.1
+ timeout: 0
+ jedis:
+ pool:
+ max-wait:
+ max-idle: 8
+ min-idle: 0
+
+
+# server
+server:
+ port: 16003
+ servlet:
+ context-path: /user-api/
diff --git a/lab-08/target/lab-08-2.1.4.RELEASE.jar.original b/lab-08/target/lab-08-2.1.4.RELEASE.jar.original
new file mode 100644
index 00000000..8f0d5e6e
Binary files /dev/null and b/lab-08/target/lab-08-2.1.4.RELEASE.jar.original differ
diff --git a/lab-08/target/maven-archiver/pom.properties b/lab-08/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..f66973bc
--- /dev/null
+++ b/lab-08/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.3.9
+version=2.1.4.RELEASE
+groupId=org.springframework.boot
+artifactId=lab-08
diff --git a/lab-08/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lab-08/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 00000000..faafda6f
--- /dev/null
+++ b/lab-08/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,2 @@
+cn/iocoder/springboot/labs/lab08/UserApplication.class
+cn/iocoder/springboot/labs/lab08/UserController.class
diff --git a/lab-08/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lab-08/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 00000000..2532fb7e
--- /dev/null
+++ b/lab-08/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/yunai/Java/SpringBoot-Labs/lab-08/src/main/java/cn/iocoder/springboot/labs/lab08/UserController.java
+/Users/yunai/Java/SpringBoot-Labs/lab-08/src/main/java/cn/iocoder/springboot/labs/lab08/UserApplication.java
diff --git a/lab-08/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lab-08/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-09/target/classes/META-INF/lab-09.kotlin_module b/lab-09/target/classes/META-INF/lab-09.kotlin_module
new file mode 100644
index 00000000..8fb60192
Binary files /dev/null and b/lab-09/target/classes/META-INF/lab-09.kotlin_module differ
diff --git a/lab-10/target/classes/META-INF/lab-10.kotlin_module b/lab-10/target/classes/META-INF/lab-10.kotlin_module
new file mode 100644
index 00000000..8fb60192
Binary files /dev/null and b/lab-10/target/classes/META-INF/lab-10.kotlin_module differ
diff --git a/lab-10/target/classes/application.properties b/lab-10/target/classes/application.properties
new file mode 100644
index 00000000..0eb258cb
--- /dev/null
+++ b/lab-10/target/classes/application.properties
@@ -0,0 +1,2 @@
+management.endpoint.health.show-details=always
+server.port=9080
diff --git a/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/META-INF/lab-07-spring-data-redis-with-jedis.kotlin_module b/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/META-INF/lab-07-spring-data-redis-with-jedis.kotlin_module
new file mode 100644
index 00000000..8fb60192
Binary files /dev/null and b/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/META-INF/lab-07-spring-data-redis-with-jedis.kotlin_module differ
diff --git a/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/application.yml b/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/application.yml
new file mode 100644
index 00000000..d49b5e00
--- /dev/null
+++ b/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/application.yml
@@ -0,0 +1,15 @@
+spring:
+ # 对应 RedisProperties 类
+ redis:
+ host: 127.0.0.1
+ port: 6379
+ password: # Redis 服务器密码,默认为空。生产中,一定要设置 Redis 密码!
+ database: 0 # Redis 数据库号,默认为 0 。
+ timeout: 0 # Redis 连接超时时间,单位:毫秒。
+ # 对应 RedisProperties.Jedis 内部类
+ jedis:
+ pool:
+ max-active: 8 # 连接池最大连接数,默认为 8 。使用负数表示没有限制。
+ max-idle: 8 # 默认连接数最小空闲的连接数,默认为 8 。使用负数表示没有限制。
+ min-idle: 0 # 默认连接池最小空闲的连接数,默认为 0 。允许设置 0 和 正数。
+ max-wait: -1 # 连接池最大阻塞等待时间,单位:毫秒。默认为 -1 ,表示不限制。
diff --git a/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/lua/compareAndSet.lua b/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/lua/compareAndSet.lua
new file mode 100644
index 00000000..682737c6
--- /dev/null
+++ b/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/lua/compareAndSet.lua
@@ -0,0 +1,5 @@
+if redis.call('GET', KEYS[1]) ~= ARGV[1] then
+ return 0
+end
+redis.call('SET', KEYS[1], ARGV[2])
+return 1
diff --git a/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/lua/test.lua b/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/lua/test.lua
new file mode 100644
index 00000000..35897e5c
--- /dev/null
+++ b/lab-11/lab-07-spring-data-redis-with-jedis/target/classes/lua/test.lua
@@ -0,0 +1 @@
+return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}
diff --git a/lab-11/lab-07-spring-data-redis-with-jedis/target/test-classes/META-INF/lab-07-spring-data-redis-with-jedis.kotlin_module b/lab-11/lab-07-spring-data-redis-with-jedis/target/test-classes/META-INF/lab-07-spring-data-redis-with-jedis.kotlin_module
new file mode 100644
index 00000000..8fb60192
Binary files /dev/null and b/lab-11/lab-07-spring-data-redis-with-jedis/target/test-classes/META-INF/lab-07-spring-data-redis-with-jedis.kotlin_module differ
diff --git a/lab-11/lab-07-spring-data-redis-with-redisson/target/classes/lua/compareAndSet2.lua b/lab-11/lab-07-spring-data-redis-with-redisson/target/classes/lua/compareAndSet2.lua
new file mode 100644
index 00000000..8b921f48
--- /dev/null
+++ b/lab-11/lab-07-spring-data-redis-with-redisson/target/classes/lua/compareAndSet2.lua
@@ -0,0 +1,5 @@
+if redis.call('GET', KEYS[1]) != ARGV[1] then
+ return {0}
+end
+redis.call('SET', KEYS[2], ARGV[2])
+return {1}
diff --git a/lab-11/lab-07-spring-data-redis-with-redisson/target/classes/redisson.yml b/lab-11/lab-07-spring-data-redis-with-redisson/target/classes/redisson.yml
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-12/lab-12-mybatis-annotation/target/classes/META-INF/lab-12-mybatis.kotlin_module b/lab-12/lab-12-mybatis-annotation/target/classes/META-INF/lab-12-mybatis.kotlin_module
new file mode 100644
index 00000000..2983af70
Binary files /dev/null and b/lab-12/lab-12-mybatis-annotation/target/classes/META-INF/lab-12-mybatis.kotlin_module differ
diff --git a/lab-12/lab-12-mybatis-annotation/target/test-classes/META-INF/lab-12-mybatis.kotlin_module b/lab-12/lab-12-mybatis-annotation/target/test-classes/META-INF/lab-12-mybatis.kotlin_module
new file mode 100644
index 00000000..2983af70
Binary files /dev/null and b/lab-12/lab-12-mybatis-annotation/target/test-classes/META-INF/lab-12-mybatis.kotlin_module differ
diff --git a/lab-12/lab-12-mybatis-plus/pom.xml b/lab-12/lab-12-mybatis-plus/pom.xml
new file mode 100644
index 00000000..23720ace
--- /dev/null
+++ b/lab-12/lab-12-mybatis-plus/pom.xml
@@ -0,0 +1,43 @@
+
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.3.RELEASE
+
+
+ 4.0.0
+
+ lab-12-mybatis-plus
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ mysql
+ mysql-connector-java
+ 5.1.48
+
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.2.0
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
diff --git a/lab-12/lab-12-mybatis-plus/src/main/java/cn/iocoder/springboot/lab12/mybatis/Application.java b/lab-12/lab-12-mybatis-plus/src/main/java/cn/iocoder/springboot/lab12/mybatis/Application.java
new file mode 100644
index 00000000..ba4ae5d2
--- /dev/null
+++ b/lab-12/lab-12-mybatis-plus/src/main/java/cn/iocoder/springboot/lab12/mybatis/Application.java
@@ -0,0 +1,9 @@
+package cn.iocoder.springboot.lab12.mybatis;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+@MapperScan(basePackages = "cn.iocoder.springboot.lab12.mybatis.mapper")
+public class Application {
+}
diff --git a/lab-12/lab-12-mybatis-plus/src/main/java/cn/iocoder/springboot/lab12/mybatis/dataobject/UserDO.java b/lab-12/lab-12-mybatis-plus/src/main/java/cn/iocoder/springboot/lab12/mybatis/dataobject/UserDO.java
new file mode 100644
index 00000000..71c31514
--- /dev/null
+++ b/lab-12/lab-12-mybatis-plus/src/main/java/cn/iocoder/springboot/lab12/mybatis/dataobject/UserDO.java
@@ -0,0 +1,82 @@
+package cn.iocoder.springboot.lab12.mybatis.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+/**
+ * 用户 DO
+ */
+@TableName(value = "users")
+public class UserDO {
+
+ /**
+ * 用户编号
+ */
+ private Integer id;
+ /**
+ * 账号
+ */
+ private String username;
+ /**
+ * 密码(明文)
+ *
+ * ps:生产环境下,千万不要明文噢
+ */
+ private String password;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 是否删除
+ */
+ @TableLogic
+ private Integer deleted;
+
+ 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;
+ }
+
+ public Integer getDeleted() {
+ return deleted;
+ }
+
+ public UserDO setDeleted(Integer deleted) {
+ this.deleted = deleted;
+ return this;
+ }
+}
diff --git a/lab-12/lab-12-mybatis-plus/src/main/java/cn/iocoder/springboot/lab12/mybatis/mapper/UserMapper.java b/lab-12/lab-12-mybatis-plus/src/main/java/cn/iocoder/springboot/lab12/mybatis/mapper/UserMapper.java
new file mode 100644
index 00000000..fafe5126
--- /dev/null
+++ b/lab-12/lab-12-mybatis-plus/src/main/java/cn/iocoder/springboot/lab12/mybatis/mapper/UserMapper.java
@@ -0,0 +1,28 @@
+package cn.iocoder.springboot.lab12.mybatis.mapper;
+
+import cn.iocoder.springboot.lab12.mybatis.dataobject.UserDO;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+
+@Repository
+public interface UserMapper extends BaseMapper {
+
+ default UserDO selectByUsername(@Param("username") String username) {
+ return selectOne(new QueryWrapper().eq("username", username));
+ }
+
+ List selectByIds(@Param("ids") Collection ids);
+
+ default IPage selectPageByCreateTime(IPage page, @Param("createTime") Date createTime) {
+ return selectPage(page,
+ new QueryWrapper().gt("create_time", createTime));
+ }
+
+}
diff --git a/lab-12/lab-12-mybatis-plus/src/main/resources/application.yaml b/lab-12/lab-12-mybatis-plus/src/main/resources/application.yaml
new file mode 100644
index 00000000..f5471517
--- /dev/null
+++ b/lab-12/lab-12-mybatis-plus/src/main/resources/application.yaml
@@ -0,0 +1,19 @@
+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
+
+# mybatis-plus 配置内容
+mybatis-plus:
+ configuration:
+ map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。
+ global-config:
+ db-config:
+ id-type: auto # ID 主键自增
+ logic-delete-value: 1 # 逻辑已删除值(默认为 1)
+ logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
+ mapper-locations: classpath*:mapper/*.xml
+ type-aliases-package: cn.iocoder.mall.admin.dataobject
diff --git a/lab-12/lab-12-mybatis-plus/src/main/resources/mapper/UserMapper.xml b/lab-12/lab-12-mybatis-plus/src/main/resources/mapper/UserMapper.xml
new file mode 100644
index 00000000..ce71d6a0
--- /dev/null
+++ b/lab-12/lab-12-mybatis-plus/src/main/resources/mapper/UserMapper.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/lab-12/lab-12-mybatis-plus/src/main/resources/sql/users.sql b/lab-12/lab-12-mybatis-plus/src/main/resources/sql/users.sql
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-12/lab-12-mybatis-plus/src/test/java/cn/iocoder/springboot/lab12/mybatis/mapper/UserMapperTest.java b/lab-12/lab-12-mybatis-plus/src/test/java/cn/iocoder/springboot/lab12/mybatis/mapper/UserMapperTest.java
new file mode 100644
index 00000000..6859cbd0
--- /dev/null
+++ b/lab-12/lab-12-mybatis-plus/src/test/java/cn/iocoder/springboot/lab12/mybatis/mapper/UserMapperTest.java
@@ -0,0 +1,58 @@
+package cn.iocoder.springboot.lab12.mybatis.mapper;
+
+import cn.iocoder.springboot.lab12.mybatis.Application;
+import cn.iocoder.springboot.lab12.mybatis.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 java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class UserMapperTest {
+
+ @Autowired
+ private UserMapper userMapper;
+
+ @Test
+ public void testInsert() {
+ UserDO user = new UserDO().setUsername(UUID.randomUUID().toString())
+ .setPassword("nicai").setCreateTime(new Date());
+ userMapper.insert(user);
+ }
+
+ @Test
+ public void testUpdateById() {
+ UserDO updateUser = new UserDO().setId(1)
+ .setPassword("wobucai");
+ userMapper.updateById(updateUser);
+ }
+
+ @Test
+ public void testDeleteById() {
+ userMapper.deleteById(2);
+ }
+
+ @Test
+ public void testSelectById() {
+ userMapper.selectById(1);
+ }
+
+ @Test
+ public void testSelectByUsername() {
+ userMapper.selectByUsername("yunai");
+ }
+
+ @Test
+ public void testSelectByIds() {
+ List users = userMapper.selectByIds(Arrays.asList(1, 3));
+ System.out.println("users:" + users.size());
+ }
+
+}
diff --git a/lab-12/lab-12-mybatis-plus/target/classes/application.yaml b/lab-12/lab-12-mybatis-plus/target/classes/application.yaml
new file mode 100644
index 00000000..6c212cc5
--- /dev/null
+++ b/lab-12/lab-12-mybatis-plus/target/classes/application.yaml
@@ -0,0 +1,13 @@
+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
+
+# mybatis 配置内容
+mybatis:
+ config-location: classpath:mybatis-config.xml # 配置 MyBatis 配置文件路径
+ mapper-locations: classpath:mapper/*.xml # 配置 Mapper XML 地址
+ type-aliases-package: cn.iocoder.springboot.lab12.mybatis.dataobject # 配置数据库实体包路径
diff --git a/lab-12/lab-12-mybatis-plus/target/classes/mapper/UserMapper.xml b/lab-12/lab-12-mybatis-plus/target/classes/mapper/UserMapper.xml
new file mode 100644
index 00000000..25843262
--- /dev/null
+++ b/lab-12/lab-12-mybatis-plus/target/classes/mapper/UserMapper.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+ id, username, password, create_time
+
+
+
+ INSERT INTO users (
+ username, password, create_time
+ ) VALUES (
+ #{username}, #{password}, #{createTime}
+ )
+
+
+
+ UPDATE users
+
+
+ , username = #{username}
+
+
+ , password = #{password}
+
+
+ WHERE id = #{id}
+
+
+
+ DELETE FROM users
+ WHERE id = #{id}
+
+
+
+
+
+
+
+
+
diff --git a/lab-12/lab-12-mybatis-plus/target/classes/mybatis-config.xml b/lab-12/lab-12-mybatis-plus/target/classes/mybatis-config.xml
new file mode 100644
index 00000000..725aa31a
--- /dev/null
+++ b/lab-12/lab-12-mybatis-plus/target/classes/mybatis-config.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lab-12/lab-12-mybatis-plus/target/classes/sql/users.sql b/lab-12/lab-12-mybatis-plus/target/classes/sql/users.sql
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-12/lab-12-mybatis-xml/target/classes/application.yaml b/lab-12/lab-12-mybatis-xml/target/classes/application.yaml
new file mode 100644
index 00000000..6c212cc5
--- /dev/null
+++ b/lab-12/lab-12-mybatis-xml/target/classes/application.yaml
@@ -0,0 +1,13 @@
+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
+
+# mybatis 配置内容
+mybatis:
+ config-location: classpath:mybatis-config.xml # 配置 MyBatis 配置文件路径
+ mapper-locations: classpath:mapper/*.xml # 配置 Mapper XML 地址
+ type-aliases-package: cn.iocoder.springboot.lab12.mybatis.dataobject # 配置数据库实体包路径
diff --git a/lab-12/lab-12-mybatis-xml/target/classes/mapper/UserMapper.xml b/lab-12/lab-12-mybatis-xml/target/classes/mapper/UserMapper.xml
new file mode 100644
index 00000000..25843262
--- /dev/null
+++ b/lab-12/lab-12-mybatis-xml/target/classes/mapper/UserMapper.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+ id, username, password, create_time
+
+
+
+ INSERT INTO users (
+ username, password, create_time
+ ) VALUES (
+ #{username}, #{password}, #{createTime}
+ )
+
+
+
+ UPDATE users
+
+
+ , username = #{username}
+
+
+ , password = #{password}
+
+
+ WHERE id = #{id}
+
+
+
+ DELETE FROM users
+ WHERE id = #{id}
+
+
+
+
+
+
+
+
+
diff --git a/lab-12/lab-12-mybatis-xml/target/classes/mybatis-config.xml b/lab-12/lab-12-mybatis-xml/target/classes/mybatis-config.xml
new file mode 100644
index 00000000..725aa31a
--- /dev/null
+++ b/lab-12/lab-12-mybatis-xml/target/classes/mybatis-config.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lab-12/lab-12-mybatis-xml/target/classes/sql/users.sql b/lab-12/lab-12-mybatis-xml/target/classes/sql/users.sql
new file mode 100644
index 00000000..e69de29b
diff --git a/lab-12/pom.xml b/lab-12/pom.xml
index 9509a6ee..2a7a4bc1 100644
--- a/lab-12/pom.xml
+++ b/lab-12/pom.xml
@@ -14,6 +14,7 @@
lab-12-mybatis-xml
lab-12-mybatis-annotation
+ lab-12-mybatis-plus