在springboot项目中第一次用这个,试了一下,能成功启动和生成文件但目前还有问题,先记录一下:

依赖

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 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"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>mabatis-plus</artifactId><version>0.0.1-SNAPSHOT</version><name>mabatis-plus</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.1</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId><version>2.4.2</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.28</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

数据库配置

表:

表结构:


SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for t_user
-- ----------------------------
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user`  (`id` int(100) NOT NULL AUTO_INCREMENT,`nickname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`salt` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`register_date` datetime NULL DEFAULT NULL COMMENT '注册时间\r\n',`login_count` int(11) NULL DEFAULT NULL COMMENT '登录次数',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;SET FOREIGN_KEY_CHECKS = 1;application.yml:
datasource:#MySQL配置driverClassName:  com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3308/data1?useSSL=false&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTCusername: heziyipassword: 123456logging:level:com.baomidou.mybatisplus.samples.quickstart: debugmybatis-plus:configuration:map-underscore-to-camel-case: trueauto-mapping-behavior: fulllog-impl: org.apache.ibatis.logging.stdout.StdOutImplmapper-locations: classpath*:mapper/**/*Mapper.xmlglobal-config:# 逻辑删除配置db-config:# 删除前logic-not-delete-value: 1# 删除后logic-delete-value: 0server:port: 8100

代码自动生成的配置

CodeGenerator.java:

MabatisPlusApplication.java:```java
package com.quickkill.lezijiekill.util;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.apache.commons.lang3.StringUtils;import java.util.*;public class CodeGenerator {/*** <p>* 读取控制台内容* </p>*/public static String scanner(String tip) {Scanner scanner = new Scanner(System.in);StringBuilder help = new StringBuilder();help.append("请输入" + tip + ":");System.out.println(help.toString());if (scanner.hasNext()) {String ipt = scanner.next();if (StringUtils.isNotEmpty(ipt)) {return ipt;}}throw new MybatisPlusException("请输入正确的" + tip + "!");}public static void main(String[] args) {
// 代码生成器AutoGenerator mpg = new AutoGenerator();
// 全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty("user.dir");gc.setOutputDir(projectPath + "/src/main/java");
//作者gc.setAuthor("hehe");
//打开输出目录gc.setOpen(false);
//xml开启 BaseResultMapgc.setBaseResultMap(true);
//xml 开启BaseColumnListgc.setBaseColumnList(true);
//日期格式,采用Dategc.setDateType(DateType.ONLY_DATE);mpg.setGlobalConfig(gc);
// 数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl("jdbc:mysql://localhost:3308/data1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia" +"/Shanghai");dsc.setDriverName("com.mysql.cj.jdbc.Driver");dsc.setUsername("heziyi");dsc.setPassword("123456");mpg.setDataSource(dsc);// 包配置PackageConfig pc = new PackageConfig();pc.setParent("com.quickkill.lezijiekill").setEntity("pojo").setMapper("mapper").setService("service").setServiceImpl("service.impl").setController("controller");mpg.setPackageInfo(pc);
// 自定义配置InjectionConfig cfg = new InjectionConfig() {@Overridepublic void initMap() {
// to do nothingMap<String, Object> map = new HashMap<>();map.put("date1", "1.0.0");this.setMap(map);}};
// 如果模板引擎是 freemarkerString templatePath = "/templates/mapper.xml.ftl";
// 如果模板引擎是 velocity
// String templatePath = "/templates/mapper.xml.vm";
// 自定义输出配置List<FileOutConfig> focList = new ArrayList<>();
// 自定义配置会被优先输出focList.add(new FileOutConfig(templatePath) {@Overridepublic String outputFile(TableInfo tableInfo) {
// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!return projectPath + "/src/main/resources/mapper/" +tableInfo.getEntityName() + "Mapper"+ StringPool.DOT_XML;}});cfg.setFileOutConfigList(focList);mpg.setCfg(cfg);
// 配置模板TemplateConfig templateConfig = new TemplateConfig().setEntity("templates/entity.java").setMapper("templates/mapper.java").setService("templates/service.java").setServiceImpl("templates/serviceImpl.java").setController("templates/controller.java");templateConfig.setXml(null);mpg.setTemplate(templateConfig);
// 策略配置StrategyConfig strategy = new StrategyConfig();
//数据库表映射到实体的命名策略strategy.setNaming(NamingStrategy.underline_to_camel);
//数据库表字段映射到实体的命名策略strategy.setColumnNaming(NamingStrategy.underline_to_camel);
//lombok模型strategy.setEntityLombokModel(true);
//生成 @RestController 控制器
// strategy.setRestControllerStyle(true);strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));strategy.setControllerMappingHyphenStyle(true);
//表前缀strategy.setTablePrefix("t_");mpg.setStrategy(strategy);mpg.setTemplateEngine(new FreemarkerTemplateEngine());mpg.execute();}
}

运行,输入表名t_user

可以看到相应的目录下生成了文件:

mybatis-plus代码生成器使用和代码相关推荐

  1. Spring Boot项目利用MyBatis Generator进行数据层代码自动生成

    概 述 MyBatis Generator (简称 MBG) 是一个用于 MyBatis和 iBATIS的代码生成器.它可以为 MyBatis的所有版本以及 2.2.0之后的 iBATIS版本自动生成 ...

  2. MyBatis Plus Generator——MyBatis Plus代码生成器DEMO

    官方文档 https://mp.baomidou.com/guide/generator.html Maven <dependency><groupId>mysql</g ...

  3. Mybatis Plus————代码生成器

    代码生成器 MyBatis Plus是MyBatis的扩展框架,而代码生成器是MP的核心功能之一,另外还有 "条件构造器"和"通用CRUD"等功能. 步骤演示 ...

  4. SpringBoot精通系列-使用Mybatis Generator生成Dao层代码

    导语   使用Mybatis的时候通常会创建很多的映射文件以及创建很多的Model对象,相对来说比较麻烦也有很多的重复的工作.下面就来使用一个Mybatis Dao层代码生成器. 文章目录 开始使用M ...

  5. Mybatis Plus 代码生成器-让上班划水不再是梦

    文章目录 1. 废话哔哔 2. 开搞 2.1 核心maven依赖 2.2 Spring Boot主要配置 2.3 Mybatis Plus 代码生成器代码 2.4生成的代码结构如下 1. 废话哔哔 不 ...

  6. 视频教程-MyBatis Generator代码生成器视频教程-Java

    MyBatis Generator代码生成器视频教程 Java讲师,多年培训经验,曾参与开发过的项目:某省电信ODS系统.电信自助取数系统.CRM客户关系管理系统.环境应急信息系统.自来水客服系统等. ...

  7. MyBatis Generator 代码生成器

    MyBatis Generator 代码生成器 MyBatis Generator简介 MyBatis Generator(MBG)是MyBatis 的代码生成器.它将为MyBatis的所有版本生成代 ...

  8. mybatis generator自动生成sqlmap代码的不完善之处以及解决方法

    mybatis generator自动生成sqlmap代码的不完善之处以及解决方法 参考文章: (1)mybatis generator自动生成sqlmap代码的不完善之处以及解决方法 (2)http ...

  9. 解决eclipse中mybatis的xml配置文件无代码提示问题

    解决eclipse中mybatis的xml配置文件无代码提示问题 参考文章: (1)解决eclipse中mybatis的xml配置文件无代码提示问题 (2)https://www.cnblogs.co ...

  10. 用mybatis的generator自动生成代码--坑我都走了一遍,后面的同学别踩了

    先说什么是mybatis-generator? mybatis-geneator是一款mybatis自动代码生成工具,可以通过配置,快速生成mapper和xml文件. 步骤一:在pom文件中添加插件配 ...

最新文章

  1. 负荷计算的时候assert失败_负荷计算的入门基础知识,小白入门必备!
  2. Golang init函数执行顺序
  3. display 的 32 种写法
  4. 结对编程作业——四则运算GUI程序
  5. 成功解决 python 不是内部或外部命令,也不是可运行的程序或批处理文件
  6. 《数据结构》c语言版学习笔记——单链表结构(线性表的链式存储结构Part1)
  7. linux system更好方法,Linux将程序添加到服务的方法(通用【但最好还是用systemd】)...
  8. restorecon命令
  9. #54 partition a sequence
  10. char*和CString转换
  11. mock.js那点事(上)
  12. javaWeb图书购物商城
  13. 重磅!公安部再度认可电子签名、电子印章法律效力!
  14. win32(7)--文件操作
  15. 【企业数智化转型】知识图谱(Knowledge Graph)
  16. 梦断代码 ---阅读笔记02
  17. AWS云计算题目总结
  18. 目标检测网络之 YOLOv3
  19. 普通最小二乘法( Ordinary Least Square,OLS)
  20. 程序员:为了提升自己的竞争力!哪些含金量高的证书可以考?

热门文章

  1. win7系统安装信息服务器不可用怎么办,win7系统提示rpc服务器不可用怎么办
  2. linux上查看gitlab日志,如何查看Gitlab的版本?
  3. 云服务器网站不能够上传视频,网站的视频要存到云服务器上吗
  4. 在几何画板中如何制作圆柱的侧面展开动画_倒计时与时钟演示 | 几何画板
  5. 机器学习算法之——隐马尔可夫模型(Hidden Markov Models,HMM) 代码实现
  6. 我是Python小玩家,一行代码能做哪些炫酷的事情 (三十一)
  7. 自动驾驶前沿综述:基于深度强化学习的自动驾驶算法
  8. MixPath:基于权重共享的神经网络搜索统一方法
  9. 人工神经网络发现生物神经网络,智源超高清电镜图像分割挑战赛开赛
  10. 巧断梯度:单个loss实现GAN模型(附开源代码)