From 335d392c26d10dabdb73c9fc51b79598aba591d7 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期五, 17 一月 2025 19:16:58 +0800 Subject: [PATCH] 1 --- ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/UserService.java | 7 + ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/UserController.java | 9 + ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 2 ruoyi-gateway/src/main/resources/bootstrap.yml | 2 ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/mapper/UserMapper.java | 7 + pom.xml | 29 +++++ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MyMetaObjectHandler.java | 14 ++ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MybatisPlusConfig.java | 83 ++++++++++++++++ ruoyi-modules/ruoyi-company/src/main/resources/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 3 ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/domain/User.java | 30 ++++++ ruoyi-modules/ruoyi-company/pom.xml | 24 +++- ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/UserServiceImpl.java | 11 ++ ruoyi-common/ruoyi-common-core/pom.xml | 29 +++++ 13 files changed, 244 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index a400eb9..4ddb815 100644 --- a/pom.xml +++ b/pom.xml @@ -34,6 +34,8 @@ <poi.version>4.1.2</poi.version> <springdoc.version>1.6.9</springdoc.version> <transmittable-thread-local.version>2.14.4</transmittable-thread-local.version> + <mybatis-plus.version>3.5.4</mybatis-plus.version> + <hutool.version>5.0.3</hutool.version> <!-- override dependency version --> <tomcat.version>9.0.96</tomcat.version> @@ -102,6 +104,33 @@ </dependency> <dependency> + <groupId>org.mybatis</groupId> + <artifactId>mybatis</artifactId> + <version>3.5.13</version> <!-- 使用与 MyBatis-Plus 兼容的版本 --> + </dependency> + + <!-- mybatis-plus 增强CRUD --> + <dependency> + <groupId>com.baomidou</groupId> + <artifactId>mybatis-plus-boot-starter</artifactId> + <version>${mybatis-plus.version}</version> + </dependency> + + <!-- hutool 的依赖配置--> + <dependency> + <groupId>cn.hutool</groupId> + <artifactId>hutool-all</artifactId> + <version>${hutool.version}</version> + </dependency> + + <!--lombok--> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>1.18.24</version> + </dependency> + + <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-el</artifactId> <version>${tomcat.version}</version> diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml index 811b69c..4b534b0 100644 --- a/ruoyi-common/ruoyi-common-core/pom.xml +++ b/ruoyi-common/ruoyi-common-core/pom.xml @@ -107,6 +107,35 @@ <artifactId>javax.servlet-api</artifactId> </dependency> + + <!-- Pagehelper --> + <dependency> + <groupId>com.github.pagehelper</groupId> + <artifactId>pagehelper-spring-boot-starter</artifactId> + <exclusions> + <exclusion> + <groupId>org.mybatis.spring.boot</groupId> + <artifactId>mybatis-spring-boot-starter</artifactId> + </exclusion> + <exclusion> + <groupId>org.mybatis.spring.boot</groupId> + <artifactId>mybatis-spring-boot-autoconfigure</artifactId> + </exclusion> + </exclusions> + </dependency> + + <!-- mybatis-plus --> + <dependency> + <groupId>com.baomidou</groupId> + <artifactId>mybatis-plus-boot-starter</artifactId> + </dependency> + + <!-- hutool 的依赖配置--> + <dependency> + <groupId>cn.hutool</groupId> + <artifactId>hutool-all</artifactId> + </dependency> + </dependencies> </project> diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MyMetaObjectHandler.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MyMetaObjectHandler.java new file mode 100644 index 0000000..1f850b0 --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MyMetaObjectHandler.java @@ -0,0 +1,14 @@ +package com.ruoyi.common.core.config; + +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import org.apache.ibatis.reflection.MetaObject; + +public class MyMetaObjectHandler implements MetaObjectHandler { + @Override + public void insertFill(MetaObject metaObject) { + } + + @Override + public void updateFill(MetaObject metaObject) { + } +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MybatisPlusConfig.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MybatisPlusConfig.java new file mode 100644 index 0000000..758c561 --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/MybatisPlusConfig.java @@ -0,0 +1,83 @@ +package com.ruoyi.common.core.config; + +import cn.hutool.core.net.NetUtil; +import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator; +import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; +import com.baomidou.mybatisplus.extension.MybatisMapWrapperFactory; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * Mybatis Plus 配置 + * + * @author lfl + */ +@EnableTransactionManagement(proxyTargetClass = true) +@Configuration +public class MybatisPlusConfig { + + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + // 分页插件 + interceptor.addInnerInterceptor(paginationInnerInterceptor()); + // 乐观锁插件 + interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor()); + return interceptor; + } + + /** + * 分页插件,自动识别数据库类型 + */ + public PaginationInnerInterceptor paginationInnerInterceptor() { + PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); + // 设置最大单页限制数量,默认 500 条,-1 不受限制 + paginationInnerInterceptor.setMaxLimit(-1L); + // 分页合理化 + paginationInnerInterceptor.setOverflow(true); + return paginationInnerInterceptor; + } + + /** + * 乐观锁插件 + */ + public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() { + return new OptimisticLockerInnerInterceptor(); + } + +// @Bean +// public VersionInterceptor versionInterceptor() { +// return new VersionInterceptor(); +// } + + /** + * Map下划线自动转驼峰 + */ + @Bean + public ConfigurationCustomizer configurationCustomizer() { + return configuration -> configuration.setObjectWrapperFactory(new MybatisMapWrapperFactory()); + } + + /** + * 元对象字段填充控制器 + */ + @Bean + public MetaObjectHandler metaObjectHandler() { + return new MyMetaObjectHandler(); + } + + /** + * 使用网卡信息绑定雪花生成器 + * 防止集群雪花ID重复 + */ + @Bean + public IdentifierGenerator idGenerator() { + return new DefaultIdentifierGenerator(NetUtil.getLocalhost()); + } +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 30c45a0..1a1918f 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,3 @@ com.ruoyi.common.core.utils.SpringUtils +com.ruoyi.common.core.config.MybatisPlusConfig + diff --git a/ruoyi-gateway/src/main/resources/bootstrap.yml b/ruoyi-gateway/src/main/resources/bootstrap.yml index bc2cc57..052f3d9 100644 --- a/ruoyi-gateway/src/main/resources/bootstrap.yml +++ b/ruoyi-gateway/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 8080 + port: 9000 # Spring spring: diff --git a/ruoyi-modules/ruoyi-company/pom.xml b/ruoyi-modules/ruoyi-company/pom.xml index 7c3946f..187c0a4 100644 --- a/ruoyi-modules/ruoyi-company/pom.xml +++ b/ruoyi-modules/ruoyi-company/pom.xml @@ -45,17 +45,31 @@ <artifactId>mysql-connector-j</artifactId> </dependency> + <!-- Pagehelper --> + <dependency> + <groupId>com.github.pagehelper</groupId> + <artifactId>pagehelper-spring-boot-starter</artifactId> + <version>1.4.6</version> <!-- 使用最新版本 --> + </dependency> + + <!-- mybatis-plus 增强CRUD --> + <dependency> + <groupId>com.baomidou</groupId> + <artifactId>mybatis-plus-boot-starter</artifactId> + </dependency> + + <!--lombok--> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + </dependency> + <!-- RuoYi Common DataSource --> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common-datasource</artifactId> </dependency> - <!-- RuoYi Common DataScope --> - <dependency> - <groupId>com.ruoyi</groupId> - <artifactId>ruoyi-common-datascope</artifactId> - </dependency> <!-- RuoYi Common Log --> <dependency> diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/UserController.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/UserController.java new file mode 100644 index 0000000..9ac4529 --- /dev/null +++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/UserController.java @@ -0,0 +1,9 @@ +package com.ruoyi.company.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/user") +public class UserController { +} diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/domain/User.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/domain/User.java new file mode 100644 index 0000000..f052baf --- /dev/null +++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/domain/User.java @@ -0,0 +1,30 @@ +package com.ruoyi.company.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +@TableName("t_user") +@Data +public class User { + @TableId + private Long userId; + + private String accountName; + + private String password; + + private String phone; + + private Integer status; + + private LocalDateTime createTime; + + private LocalDateTime updateTime; + + @TableLogic + private Boolean isDelete; +} diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/mapper/UserMapper.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/mapper/UserMapper.java new file mode 100644 index 0000000..dac80cd --- /dev/null +++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/mapper/UserMapper.java @@ -0,0 +1,7 @@ +package com.ruoyi.company.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.company.domain.User; + +public interface UserMapper extends BaseMapper<User> { +} diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/UserService.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/UserService.java new file mode 100644 index 0000000..0becc3d --- /dev/null +++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/UserService.java @@ -0,0 +1,7 @@ +package com.ruoyi.company.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.company.domain.User; + +public interface UserService extends IService<User> { +} diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/UserServiceImpl.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..82e3ec4 --- /dev/null +++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/UserServiceImpl.java @@ -0,0 +1,11 @@ +package com.ruoyi.company.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.company.domain.User; +import com.ruoyi.company.mapper.UserMapper; +import com.ruoyi.company.service.UserService; +import org.springframework.stereotype.Service; + +@Service +public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { +} diff --git a/ruoyi-modules/ruoyi-company/src/main/resources/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-modules/ruoyi-company/src/main/resources/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..1a1918f --- /dev/null +++ b/ruoyi-modules/ruoyi-company/src/main/resources/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,3 @@ +com.ruoyi.common.core.utils.SpringUtils +com.ruoyi.common.core.config.MybatisPlusConfig + -- Gitblit v1.7.1