From f921bad9fc191403ceebce260081aef01e541184 Mon Sep 17 00:00:00 2001
From: ayi <2294931964@qq.com>
Date: Thu, 27 Nov 2025 19:28:07 +0800
Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E5=90=88Mubatis-Plus?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 279 +++++++++---------
xiaoyi-auth/pom.xml | 100 ++++---
.../auth/config/MybatisPlusConfig.java | 31 ++
.../auth/domain/entity/UserEntity.java | 60 ++++
.../auth/domain/mappers/UserMapper.java | 16 +
.../auth/domain/mappings/UserMapping.xml | 16 +
.../src/main/resources/application-dev.yml | 6 -
.../src/main/resources/application.yml | 4 -
.../main/resources/config/application-dev.yml | 18 ++
.../src/main/resources/config/application.yml | 5 +
.../auth/XiaoyiAuthApplicationTests.java | 27 +-
11 files changed, 378 insertions(+), 184 deletions(-)
create mode 100644 xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/config/MybatisPlusConfig.java
create mode 100644 xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/entity/UserEntity.java
create mode 100644 xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/mappers/UserMapper.java
create mode 100644 xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/mappings/UserMapping.xml
delete mode 100644 xiaoyi-auth/src/main/resources/application-dev.yml
delete mode 100644 xiaoyi-auth/src/main/resources/application.yml
create mode 100644 xiaoyi-auth/src/main/resources/config/application-dev.yml
create mode 100644 xiaoyi-auth/src/main/resources/config/application.yml
diff --git a/pom.xml b/pom.xml
index 0c0a8fd..3909806 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,95 +1,97 @@
- 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">
+ 4.0.0
- top.crushtj
- xiaoyishu
- ${revision}
+ top.crushtj
+ xiaoyishu
+ ${revision}
-
- ${project.artifactId}
-
- 小壹书(仿小红书),基于 Spring Cloud Alibaba 微服务架构
+
+ ${project.artifactId}
+
+ 小壹书(仿小红书),基于 Spring Cloud Alibaba 微服务架构
-
- pom
+
+ pom
-
-
- xiaoyi-auth
- xiaoyi-framework
-
+
+
+ xiaoyi-auth
+ xiaoyi-framework
+
-
-
- 0.0.1-SNAPSHOT
-
- 17
- ${java.version}
- ${java.version}
-
- UTF-8
-
- 3.8.1
+
+
+ 0.0.1-SNAPSHOT
+
+ 17
+ ${java.version}
+ ${java.version}
+
+ UTF-8
+
+ 3.8.1
-
- 1.18.30
- 3.0.2
- 2022.0.0.0
- 2022.0.0
- 2.16.1
-
+
+ 1.18.30
+ 3.0.2
+ 2022.0.0.0
+ 2022.0.0
+ 2.16.1
+ 8.0.29
+ 3.5.5
+
-
-
-
-
- top.crushtj
- xiaoyi-common
- ${revision}
-
-
-
- top.crushtj
- xiaoyi-spring-boot-starter-biz-operationlog
- ${revision}
-
-
-
- org.springframework.boot
- spring-boot-dependencies
- ${spring-boot.version}
- pom
- import
-
+
+
+
+
+ top.crushtj
+ xiaoyi-common
+ ${revision}
+
+
+
+ top.crushtj
+ xiaoyi-spring-boot-starter-biz-operationlog
+ ${revision}
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${spring-boot.version}
+ pom
+ import
+
-
-
- com.alibaba.cloud
- spring-cloud-alibaba-dependencies
- ${spring-cloud-alibaba.version}
- pom
- import
-
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-dependencies
+ ${spring-cloud-alibaba.version}
+ pom
+ import
+
-
-
- org.springframework.cloud
- spring-cloud-dependencies
- ${spring-cloud.version}
- pom
- import
-
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud.version}
+ pom
+ import
+
-
-
- org.projectlombok
- lombok
- ${lombok.version}
-
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
-
+
com.fasterxml.jackson.core
jackson-databind
@@ -101,60 +103,73 @@
jackson-core
${jackson.version}
-
-
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ ${mybatis-plus.version}
+
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
- ${spring-boot.version}
-
-
- repackage
-
- repackage
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${maven-compiler-plugin.version}
-
- ${java.version}
- ${java.version}
- ${project.build.sourceEncoding}
-
-
- org.projectlombok
- lombok
- ${lombok.version}
-
-
-
-
-
-
+
+
+ mysql
+ mysql-connector-java
+ ${mysql-connector-java.version}
+
+
+
-
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ ${spring-boot.version}
+
+
+ repackage
+
+ repackage
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ ${java.version}
+ ${java.version}
+ ${project.build.sourceEncoding}
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
+
+
+
+
+
-
-
-
- huaweicloud
- huawei
- https://mirrors.huaweicloud.com/repository/maven/
-
-
- aliyunmaven
- aliyun
- https://maven.aliyun.com/repository/public
-
-
+
+
+
+
+
+ huaweicloud
+ huawei
+ https://mirrors.huaweicloud.com/repository/maven/
+
+
+ aliyunmaven
+ aliyun
+ https://maven.aliyun.com/repository/public
+
+
\ No newline at end of file
diff --git a/xiaoyi-auth/pom.xml b/xiaoyi-auth/pom.xml
index 673794d..7e19c52 100644
--- a/xiaoyi-auth/pom.xml
+++ b/xiaoyi-auth/pom.xml
@@ -1,51 +1,73 @@
- 4.0.0
-
-
- top.crushtj
- xiaoyishu
- ${revision}
-
+ 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">
+ 4.0.0
+
+
+ top.crushtj
+ xiaoyishu
+ ${revision}
+
-
- jar
+
+ jar
- xiaoyi-auth
- ${project.artifactId}
- 小壹书:认证服务(负责处理用户登录、注册、账号注销等)
+ xiaoyi-auth
+ ${project.artifactId}
+ 小壹书:认证服务(负责处理用户登录、注册、账号注销等)
-
-
- top.crushtj
- xiaoyi-common
-
+
+
+ top.crushtj
+ xiaoyi-common
+
- top.crushtj
- xiaoyi-spring-boot-starter-biz-operationlog
+ top.crushtj
+ xiaoyi-spring-boot-starter-biz-operationlog
+
+
+ org.springframework.boot
+ spring-boot-starter-web
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+
+
+
+ mysql
+ mysql-connector-java
+
+
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+ src/main/java
+
+ **/*.xml
+
+ false
+
+
+ src/main/resources
+
+
+
\ No newline at end of file
diff --git a/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/config/MybatisPlusConfig.java b/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..100c796
--- /dev/null
+++ b/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/config/MybatisPlusConfig.java
@@ -0,0 +1,31 @@
+package top.crushtj.xiaoyishu.auth.config;
+
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ *
+ * @author hanfuye
+ * @title MyBatisConfig
+ * @date 2025/11/27
+ * @description MybatisPlus配置类
+ */
+
+@Configuration
+@MapperScan("top.crushtj.**.mappers")
+public class MybatisPlusConfig {
+ /**
+ * 分页插件
+ *
+ * @return MybatisPlusInterceptor
+ */
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor() {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
+ return interceptor;
+ }
+}
diff --git a/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/entity/UserEntity.java b/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/entity/UserEntity.java
new file mode 100644
index 0000000..01eebe8
--- /dev/null
+++ b/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/entity/UserEntity.java
@@ -0,0 +1,60 @@
+package top.crushtj.xiaoyishu.auth.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ *
+ * @author ayi
+ * @title UserEntity
+ * @date 2025/11/27
+ * @description 用户测试表
+ */
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("t_user")
+public class UserEntity implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 403394297290102294L;
+
+ /**
+ * 主键id
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ @TableId("ID")
+ private Long id;
+
+ /**
+ * 用户名
+ */
+ @TableField("USERNAME")
+ private String username;
+
+ /**
+ * 创建时间
+ */
+ @TableField("CREATE_TIME")
+ private LocalDateTime createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField("UPDATE_TIME")
+ private LocalDateTime updateTime;
+
+}
diff --git a/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/mappers/UserMapper.java b/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/mappers/UserMapper.java
new file mode 100644
index 0000000..25058f9
--- /dev/null
+++ b/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/mappers/UserMapper.java
@@ -0,0 +1,16 @@
+package top.crushtj.xiaoyishu.auth.domain.mappers;
+
+import top.crushtj.xiaoyishu.auth.domain.entity.UserEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * @author ayi
+ * @title 用户测试表
+ * @date 2025/11/27
+ * @description (t_user)表数据库访问层
+ */
+public interface UserMapper extends BaseMapper {
+
+}
+
diff --git a/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/mappings/UserMapping.xml b/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/mappings/UserMapping.xml
new file mode 100644
index 0000000..d4da605
--- /dev/null
+++ b/xiaoyi-auth/src/main/java/top/crushtj/xiaoyishu/auth/domain/mappings/UserMapping.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ id,username,create_time,update_time
+
+
+
diff --git a/xiaoyi-auth/src/main/resources/application-dev.yml b/xiaoyi-auth/src/main/resources/application-dev.yml
deleted file mode 100644
index fce073c..0000000
--- a/xiaoyi-auth/src/main/resources/application-dev.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-spring:
- application:
- name: xiaoyi-auth
- output:
- ansi:
- enabled: always
\ No newline at end of file
diff --git a/xiaoyi-auth/src/main/resources/application.yml b/xiaoyi-auth/src/main/resources/application.yml
deleted file mode 100644
index ec870c1..0000000
--- a/xiaoyi-auth/src/main/resources/application.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-spring:
- profiles:
- active:
- - dev
\ No newline at end of file
diff --git a/xiaoyi-auth/src/main/resources/config/application-dev.yml b/xiaoyi-auth/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..894fdb1
--- /dev/null
+++ b/xiaoyi-auth/src/main/resources/config/application-dev.yml
@@ -0,0 +1,18 @@
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ # 数据库连接信息
+ url: jdbc:mysql://10.0.0.3:3306/xiaoyishu?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
+ username: xiaoyi
+ password: HhpxE2HWE4bGTyB5
+
+logging:
+ level:
+ top.crushtj.xiaoyishu.auth.domain.mappers: debug
+mybatis-plus:
+ mapper-locations:
+ - classpath*:top/crushtj/**/*.xml # 匹配所有模块中的 Mapper XML 文件
+ type-aliases-package: top.crushtj.xiaoyishu.auth.domain.entity # 实体类包路径
+ configuration:
+ map-underscore-to-camel-case: true # 开启驼峰命名转换
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 日志输出(调试用)
diff --git a/xiaoyi-auth/src/main/resources/config/application.yml b/xiaoyi-auth/src/main/resources/config/application.yml
new file mode 100644
index 0000000..7a4814c
--- /dev/null
+++ b/xiaoyi-auth/src/main/resources/config/application.yml
@@ -0,0 +1,5 @@
+spring:
+ profiles:
+ active: dev
+server:
+ port: 18080
\ No newline at end of file
diff --git a/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/XiaoyiAuthApplicationTests.java b/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/XiaoyiAuthApplicationTests.java
index 7ff543d..c18baa8 100644
--- a/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/XiaoyiAuthApplicationTests.java
+++ b/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/XiaoyiAuthApplicationTests.java
@@ -1,13 +1,34 @@
package top.crushtj.xiaoyishu.auth;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
+import top.crushtj.xiaoyishu.auth.domain.entity.UserEntity;
+import top.crushtj.xiaoyishu.auth.domain.mappers.UserMapper;
+
+import java.time.LocalDateTime;
@SpringBootTest
+@Slf4j
class XiaoyiAuthApplicationTests {
- @Test
- void contextLoads() {
- }
+ @Resource
+ UserMapper userMapper;
+
+ @Test
+ void contextLoads() {
+ }
+
+ @Test
+ void testInsert() {
+ UserEntity user = UserEntity.builder()
+ .username("刑加一")
+ .createTime(LocalDateTime.now())
+ .updateTime(LocalDateTime.now())
+ .build();
+
+ userMapper.insert(user);
+ }
}