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); + } }