tianyunperfect 2 rokov pred
rodič
commit
55b89cbdc8

+ 7 - 1
mybatis-plus/pom.xml

@@ -37,6 +37,12 @@
             <artifactId>freemarker</artifactId>
             <version>2.3.23</version>
         </dependency>
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter</artifactId>
+            <version>RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
     <build>
         <!--使用Maven编译可执行的jar-->
@@ -66,4 +72,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
+</project>

+ 38 - 31
mybatis-plus/src/main/java/com/alvin/Generator.java

@@ -13,29 +13,27 @@ public class Generator {
 
 
     public static void main(String[] args) {
-        String db_url = "jdbc:mysql://mysql.aimpdev.svc.k5.bigtree.zone:3306/aimp_model";
-        String db_username = "test_user";
-        String db_password = "tmOxmmc+3jznq2cX";
-
-        String javaDir = "/Users/alvin/bigtree/aimp-manager/aimp-manager-service/src/main/java";
-        String parentPackage = "com.bigtreefinance.aimp.manager";
-
-        //String javaDir = "/Users/alvin/bigtree/aimp-actuator/aimp-actuator-service/src/main/java";
-        //String parentPackage = "com.bigtreefinance.aimp.actuator";
-
-        String tableName = "aimp_list,aimp_model,aimp_model_log,aimp_model_version,aimp_node_config,aimp_operation_log,aimp_process,aimp_process_node,aimp_sample,";
-        //String tableName = "aimp_sample";
-
-        String author = "bigtree";
-        String tablePrefix = "";
-
-        generatorToFile(db_url, db_username, db_password, author, javaDir, parentPackage, tableName, tablePrefix);
     }
 
-
-    private static void generatorToFile(String db_url, String db_username, String db_password, String author,
-                                        String javaDir, String parentPackage, String tableName, String tablePrefix) {
-        FastAutoGenerator.create(db_url, db_username, db_password)
+    /**
+     * 生成文件
+     *
+     * @param db_url        db url
+     * @param db_username   数据库用户名
+     * @param db_password   数据库密码
+     * @param author        作者
+     * @param javaDir       java dir
+     * @param parentPackage 父包
+     * @param tableName     表名
+     * @param tablePrefix   表前缀
+     * @param controller    是否生成 controller
+     * @param service       是否生成 service
+     * @param serviceImpl   是否生成 serviceImpl
+     */
+    public static void generatorToFile(String db_url, String db_username, String db_password, String author,
+                                       String javaDir, String parentPackage, String tableName, String tablePrefix,
+                                       Boolean controller, Boolean service, Boolean serviceImpl) {
+        FastAutoGenerator generator = FastAutoGenerator.create(db_url, db_username, db_password)
                 //===全局配置
                 .globalConfig(builder -> {
                     builder.author(author) // 设置作者
@@ -75,16 +73,25 @@ public class Generator {
                     for (String s : tablePrefix.split(",")) {
                         builder.addTablePrefix(s.trim());
                     }
-
                 })
-                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
-                .templateConfig(builder -> builder.entity("templates/entity1.java"))
-                //.templateConfig(builder -> builder.controller("templates/controller1.java"))  // 设置为空则不会生成该文件
-                //.templateConfig(builder -> builder.service("templates/service1.java"))
-                //.templateConfig(builder -> builder.serviceImpl("templates/serviceImpl1.java"))
-                .templateConfig(builder -> builder.controller(""))  // 设置为空则不会生成该文件
-                .templateConfig(builder -> builder.service(""))
-                .templateConfig(builder -> builder.serviceImpl(""))
-                .execute();
+                .templateEngine(new FreemarkerTemplateEngine())// 使用Freemarker引擎模板,默认的是Velocity引擎模板
+                .templateConfig(builder -> builder.entity("templates/entity1.java"));
+
+        if (!controller) {
+            generator.templateConfig(builder -> builder.entity("")); // 设置为空则不会生成该文件
+        } else {
+            generator.templateConfig(builder -> builder.entity("templates/controller1.java"));
+        }
+        if (!service) {
+            generator.templateConfig(builder -> builder.entity(""));
+        } else {
+            generator.templateConfig(builder -> builder.entity("templates/service1.java"));
+        }
+        if (!serviceImpl) {
+            generator.templateConfig(builder -> builder.entity(""));
+        } else {
+            generator.templateConfig(builder -> builder.entity("templates/serviceImpl1.java"));
+        }
+        generator.execute();
     }
 }

+ 42 - 0
mybatis-plus/src/main/java/com/alvin/genTest.java

@@ -0,0 +1,42 @@
+package com.alvin;
+
+import org.junit.jupiter.api.Test;
+
+import static com.alvin.Generator.generatorToFile;
+
+public class genTest {
+    @Test
+    public void test1() {
+        System.out.println(123);
+    }
+
+    @Test
+    public void testManager() {
+        generatorToFile(
+                "jdbc:mysql://mysql.aimpdev.svc.k5.bigtree.zone:3306/aimp_model",
+                "test_user",
+                "tmOxmmc+3jznq2cX",
+                "alvin",
+                "/Users/alvin/bigtree/aimp-manager/aimp-manager-service/src/main/java",
+                "com.bigtreefinance.aimp.manager",
+                "aimp_list,aimp_model,aimp_model_log,aimp_model_version,aimp_node_config,aimp_operation_log,aimp_process,aimp_process_node,aimp_sample,",
+                //"", true, true, true
+                "", false, false, false
+        );
+    }
+
+    @Test
+    public void genActuator() {
+        generatorToFile(
+                "jdbc:mysql://mysql.aimpdev.svc.k5.bigtree.zone:3306/aimp_model",
+                "test_user",
+                "tmOxmmc+3jznq2cX",
+                "alvin",
+                "/Users/alvin/bigtree/aimp-actuator/aimp-actuator-service/src/main/java",
+                "com.bigtreefinance.aimp.actuator",
+                "aimp_model_version,",
+                //"", true, true, true
+                "", false, false, false
+        );
+    }
+}

+ 30 - 1
springboot-main/pom.xml

@@ -17,10 +17,32 @@
     </properties>
 
     <dependencies>
+        <!--mysql-->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>8.0.27</version>
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus -->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.5.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.22</version>
+        </dependency>
+
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.google.code.gson</groupId>
             <artifactId>gson</artifactId>
@@ -53,6 +75,13 @@
             <artifactId>commons-pool2</artifactId>
             <version>2.11.1</version>
         </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
     <build>
         <plugins>
@@ -63,4 +92,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
+</project>

+ 36 - 0
springboot-main/src/main/java/com/alvin/config/MybatisPlusConfig.java

@@ -0,0 +1,36 @@
+package com.alvin.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+@Component
+public class MybatisPlusConfig implements MetaObjectHandler {
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        this.setFieldValByName("createTime", new Date(), metaObject);
+        this.setFieldValByName("updateTime", new Date(), metaObject);
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        this.setFieldValByName("updateTime", new Date(), metaObject);
+    }
+
+    /**
+     * 分页插件配置
+     */
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+        return interceptor;
+    }
+}

+ 14 - 0
springboot-main/src/main/java/com/alvin/controller/UserController.java

@@ -0,0 +1,14 @@
+package com.alvin.controller;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("user")
+public class UserController {
+    @GetMapping("age")
+    public String test1(Integer age) {
+        return age + "!";
+    }
+}

+ 15 - 0
springboot-main/src/main/java/com/alvin/dao/DbKafkaDao.java

@@ -0,0 +1,15 @@
+package com.alvin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.alvin.entity.DbKafka;
+
+/**
+ * (DbKafka)表数据库访问层
+ *
+ * @author makejava
+ * @since 2022-06-04 14:51:56
+ */
+public interface DbKafkaDao extends BaseMapper<DbKafka> {
+
+}
+

+ 30 - 0
springboot-main/src/main/java/com/alvin/entity/DbKafka.java

@@ -0,0 +1,30 @@
+package com.alvin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * (DbKafka)表实体类
+ *
+ * @author makejava
+ * @since 2022-06-04 14:51:56
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DbKafka extends Model<DbKafka> {
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+    private String name;
+    private String jsonStr;
+    @TableLogic
+    private Integer isDelete;
+}
+

+ 15 - 0
springboot-main/src/main/java/com/alvin/service/DbKafkaService.java

@@ -0,0 +1,15 @@
+package com.alvin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.alvin.entity.DbKafka;
+
+/**
+ * (DbKafka)表服务接口
+ *
+ * @author makejava
+ * @since 2022-06-04 14:51:56
+ */
+public interface DbKafkaService extends IService<DbKafka> {
+
+}
+

+ 19 - 0
springboot-main/src/main/java/com/alvin/service/impl/DbKafkaServiceImpl.java

@@ -0,0 +1,19 @@
+package com.alvin.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.alvin.dao.DbKafkaDao;
+import com.alvin.entity.DbKafka;
+import com.alvin.service.DbKafkaService;
+import org.springframework.stereotype.Service;
+
+/**
+ * (DbKafka)表服务实现类
+ *
+ * @author makejava
+ * @since 2022-06-04 14:51:56
+ */
+@Service("dbKafkaService")
+public class DbKafkaServiceImpl extends ServiceImpl<DbKafkaDao, DbKafka> implements DbKafkaService {
+
+}
+

+ 1 - 1
springboot-main/src/main/java/com/alvin/util/CmdUtils.java

@@ -64,4 +64,4 @@ public class CmdUtils {
         proc.destroy();
         return rspList;
     }
-}
+}

+ 18 - 0
springboot-main/src/main/resources/application.yml

@@ -0,0 +1,18 @@
+server:
+  port: 9080
+
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://www.tianyunperfect.cn:3306/dev_test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
+    username: dev_test
+    password: MyGRx8MBh43jmAsS
+
+
+mybatis-plus:
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+  global-config:
+    db-config:
+      logic-delete-value: 0
+      logic-not-delete-value: 1

+ 55 - 0
springboot-main/src/test/java/com/alvin/service/impl/DbKafkaServiceImplTest.java

@@ -0,0 +1,55 @@
+package com.alvin.service.impl;
+
+import com.alvin.dao.DbKafkaDao;
+import com.alvin.entity.DbKafka;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+@SpringBootTest
+@RunWith(SpringRunner.class)
+public class DbKafkaServiceImplTest {
+    @Autowired
+    private DbKafkaDao dbKafkaDao;
+
+    @Test
+    public void contextLoads() {
+        //List<DbKafka> dbKafkas = dbKafkaDao.selectList(null);
+        LambdaQueryWrapper<DbKafka> wrapper = new QueryWrapper<DbKafka>().lambda()
+                .eq(DbKafka::getName, "hi");
+
+        Page<DbKafka> dbKafkaPage = dbKafkaDao.selectPage(new Page<>(1, 3), null);
+        System.out.println(dbKafkaPage);
+    }
+
+    @Test
+    public void insert() {
+        DbKafka dbKafka = new DbKafka();
+        dbKafka.setName("testtest");
+        dbKafka.setJsonStr("hhh");
+        dbKafkaDao.insert(dbKafka);
+        System.out.println(dbKafka);
+    }
+
+    @Test
+    public void update() {
+        DbKafka dbKafka = new DbKafka();
+        dbKafka.setId(28);
+        dbKafka.setName("hello");  // 不能是 null
+        dbKafkaDao.updateById(dbKafka);
+        System.out.println(dbKafkaDao.selectById(28));
+    }
+
+    @Test
+    public void delete() {
+        dbKafkaDao.deleteById(28);
+    }
+}

+ 18 - 0
springboot-main/src/test/java/com/alvin/util/CmdUtilsTest.java

@@ -0,0 +1,18 @@
+package com.alvin.util;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class CmdUtilsTest {
+
+    @Test
+    void execute() {
+        System.out.println(123);
+    }
+
+    @Test
+    void executeNewFlow() {
+        System.out.println(123);
+    }
+}