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