这是一段使用 MyBatis-Plus 自动生成代码的示例代码。MyBatis-Plus 是一个优秀的 ORM 框架,它在 MyBatis 的基础上进行了扩展和增强,提供了更加便捷、高效的数据库操作方式。在实际开发中,我们通常需要编写大量的 CRUD 操作代码,使用 MyBatis-Plus 可以帮助我们快速生成这些代码,提高开发效率。
-
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-data-redisartifactId>
- dependency>
-
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plus-boot-starterartifactId>
- <version>3.4.2version>
- dependency>
-
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plus-generatorartifactId>
- <version>3.5.3version>
- dependency>
- <dependency>
- <groupId>org.apache.velocitygroupId>
- <artifactId>velocity-engine-coreartifactId>
- <version>2.3version>
- dependency>
-
- <dependency>
- <groupId>org.freemarkergroupId>
- <artifactId>freemarkerartifactId>
- dependency>
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>8.0.33version>
- dependency>
-
- <dependency>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- dependency>
-
- # Redis 配置
- spring.redis.host=192.168.67.34
- spring.redis.password=yyl
- spring.redis.database=5
-
- # 数据库配置
- spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
- spring.datasource.url=jdbc:mysql:///qq?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
- spring.datasource.username=root
- spring.datasource.password=123456789
-
- # Jackson 配置
- spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
- spring.jackson.time-zone=GMT+8
- spring.jackson.serialization.write-date-keys-as-timestamps=false
-
- # MyBatis-Plus 配置
- mybatis-plus.configuration.map-underscore-to-camel-case=true # 是否开启下划线命名转驼峰命名的映射规则
- mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl # 将日志输出到控制台
- # mybatis-plus.configuration.log-impl=
- mybatis-plus.mapper-locations=classpath:/mapper/*.xml
-
- # MyBatis-Plus 全局配置
- mybatis-plus.global-config.db-config.logic-not-delete-value=0
- mybatis-plus.global-config.db-config.logic-delete-value=1
我这里是使用的springboot
- package com.aaa;
-
-
-
- import com.baomidou.mybatisplus.annotation.FieldFill;
- import com.baomidou.mybatisplus.generator.FastAutoGenerator;
- import com.baomidou.mybatisplus.generator.config.OutputFile;
- import com.baomidou.mybatisplus.generator.fill.Column;
-
-
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
-
-
-
- public class MyTest {
- public static void main(String[] args) {
- // 数据库连接
- FastAutoGenerator.create("jdbc:mysql:///qq","root","123456789")
- // 全局配置
- .globalConfig((scanner, builder) -> builder
- .author("小宇")
-
- .outputDir("F:\\redisSpringboot\\02\\src\\main\\java")
- )
- // 包配置
- .packageConfig(
- (scanner, builder) ->
- builder
- .parent("com.aaa") // 存放位置
- .pathInfo(Collections.singletonMap(OutputFile.xml, "F:\\redisSpringboot\\02\\src\\main\\resources\\mapper")))
- // 策略配置
- .strategyConfig((scanner, builder) -> builder.addInclude(getTables(scanner.apply("请输入表名,多个英文逗号分隔?所有输入 all")))
- .controllerBuilder().enableRestStyle().enableHyphenStyle()
- .entityBuilder().enableLombok().addTableFills(
- new Column("create_time", FieldFill.INSERT)
- ).build())
- /*
- 模板引擎配置,默认 Velocity 可选模板引擎 Beetl 或 Freemarker
- .templateEngine(new BeetlTemplateEngine())
- .templateEngine(new FreemarkerTemplateEngine())
- */
- .execute();
-
-
- // 处理 all 情况
-
- }
-
- protected static List
getTables(String tables) { - return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));
- }
- }
