AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成包括 Entity、Mapper、Mapper XML、Service、Controller 数个模块的代码,可以提升开发效率.

首先,进入 https://start.spring.io 生成一个springboot简单项目

下步,数据表SQL

CREATE TABLE `soldier` (

`soldier_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '士兵编号',

`soldier_name` varchar(30) NOT NULL COMMENT '士兵名字',

`join_army_time` timestamp NOT NULL COMMENT '参军时间',

PRIMARY KEY (`soldier_id`),

KEY `sid` (`soldier_id`)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

依赖

以下有些依赖不1定是必须的,但积累甚多,就一并贴出,

版本号是经过多次甄选的.

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-logging

org.springframework.boot

spring-boot-starter-web-services

org.springframework.boot

spring-boot-devtools

runtime

false

org.springframework.boot

spring-boot-starter-test

test

org.junit.vintage

junit-vintage-engine

org.springframework.boot

spring-boot-starter-freemarker

com.baomidou

mybatis-plus-generator

3.0.7.1

com.baomidou

mybatis-plus-boot-starter

3.1.1

org.mybatis.generator

mybatis-generator-core

1.3.7

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.1.0

org.springframework.boot

spring-boot-starter-data-jpa

com.github.vindell

spring-boot-starter-log4j2-plus

1.0.5.RELEASE

org.springframework.boot

spring-boot-starter-log4j

1.3.8.RELEASE

com.github.pagehelper

pagehelper-spring-boot-starter

1.2.5

org.springframework.session

spring-session-core

org.projectlombok

lombok

com.zaxxer

HikariCP

3.3.1

mysql

mysql-connector-java

8.0.11

org.apache.tomcat.embed

tomcat-embed-jasper

org.apache.activemq

activemq-all

5.15.9

cn.hutool

hutool-all

4.3.1

javax.servlet

javax.servlet-api

javax.servlet

jstl

配置mybatis-plus.properties文件

#此处为本项目src所在路径(代码生成器输出路径)

OutputDir=/home/gzh/eclipse-workspace/Boot-Demo/src/main/java

#mapper.xml的生成位置

OutputDirXml=/home/gzh/eclipse-workspace/Boot-Demo/src/main/resources

#数据库表名(此处切不可为空,如果为空,则默认读取数据库的所有表名)

tableName=soldier

#存放所生成代码文件的上一级包名

#className=自填

#设置作者

author=gene

#正常情况下,下面的代码无需修改

#自定义包路径

parent=cn.example.demo

#数据库地址

url=jdbc:mysql://localhost:3306/test00?serverTimezone=CTT&characterEncoding=UTF-8&useSSL=false

#mysql:username & password

userName=plh

password=1234

Java代码

注意导入的package,不要导错

package cn.example.demo.util;

import java.util.ArrayList;

import java.util.List;

import java.util.ResourceBundle;

import com.baomidou.mybatisplus.annotation.DbType;

import com.baomidou.mybatisplus.core.toolkit.StringPool;

import com.baomidou.mybatisplus.generator.AutoGenerator;

import com.baomidou.mybatisplus.generator.InjectionConfig;

import com.baomidou.mybatisplus.generator.config.DataSourceConfig;

import com.baomidou.mybatisplus.generator.config.FileOutConfig;

import com.baomidou.mybatisplus.generator.config.GlobalConfig;

import com.baomidou.mybatisplus.generator.config.PackageConfig;

import com.baomidou.mybatisplus.generator.config.StrategyConfig;

import com.baomidou.mybatisplus.generator.config.TemplateConfig;

import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

/**

*

* 代码生成器

*

*

* @author gzh

*

*/

public class MybatisPlusGenerator {

public static void main(String[] args) throws InterruptedException {

// 获取Mybatis-Plus.properties文件的配置信息

final ResourceBundle rb = ResourceBundle.getBundle("mybatis-plus");

// 代码生成器

AutoGenerator mpg = new AutoGenerator();

// 全局配置

GlobalConfig gc = new GlobalConfig();

gc.setOutputDir(rb.getString("OutputDir"));

gc.setOpen(false);

gc.setBaseResultMap(true);

gc.setBaseColumnList(true);

gc.setAuthor(rb.getString("author"));

gc.setMapperName("%sMapper");

gc.setXmlName("%sMapper");

gc.setServiceName("%sService");

gc.setServiceImplName("%sServiceImpl");

gc.setControllerName("%sController");

mpg.setGlobalConfig(gc);

// dataSource配置

DataSourceConfig dsc = new DataSourceConfig();

dsc.setDbType(DbType.MYSQL);

dsc.setUrl(rb.getString("url"));

dsc.setDriverName("com.mysql.jdbc.Driver");

dsc.setUsername(rb.getString("userName"));

dsc.setPassword(rb.getString("password"));

mpg.setDataSource(dsc);

// package配置

PackageConfig pc = new PackageConfig();

pc.setParent(rb.getString("parent"));

pc.setController("controller");

pc.setService("service");

pc.setServiceImpl("service.impl");

pc.setEntity("bean");

pc.setMapper("mapper");

mpg.setPackageInfo(pc);

// 自定义配置

InjectionConfig cfg = new InjectionConfig() {

@Override

public void initMap() {

/* ... */

}

};

// 如果模板引擎是 freemarker

String templatePath = "/templates/mapper.xml.ftl";

// 自定义输出配置

List focList = new ArrayList<>();

// 自定义配置会被优先输出

focList.add(new FileOutConfig(templatePath) {

@Override

public String outputFile(com.baomidou.mybatisplus.generator.config.po.TableInfo tableInfo) {

// 自定义输入文件名称

return rb.getString("OutputDirXml") + "/mapper/" + tableInfo.getEntityName() + StringPool.DOT_XML;

}

});

cfg.setFileOutConfigList(focList);

mpg.setCfg(cfg);

mpg.setTemplate(new TemplateConfig().setXml(null));

// 策略配置

StrategyConfig strategy = new StrategyConfig();

strategy.setNaming(NamingStrategy.underline_to_camel);

strategy.setColumnNaming(NamingStrategy.underline_to_camel);

strategy.setEntityLombokModel(true);

strategy.setInclude(new String[]{rb.getString("tableName")});

mpg.setStrategy(strategy);

mpg.setTemplateEngine(new FreemarkerTemplateEngine());

mpg.execute();

System.out.println("done,fresh engineering");

}

}

运行上面的main方法,便可生成 xml/bean/mapper/service/controller 计5个模块的代码.

注:lombok注解@Data要想起作用的话,还要为IDE另外安装lombok插件,具体步骤可单独搜索 ↩

automybatis mysql_mybatis-plus:使用Mybatis-AutoGenerator代码生成器(1)相关推荐

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

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

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

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

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

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

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

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

  5. MyBatis Generator 代码生成器

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

  6. mybatisplus代码生成器_想做时间管理大师?你可以试试Mybatis Plus代码生成器

    1. 前言 对于写Crud的老司机来说时间非常宝贵,一些样板代码写不但费时费力,而且枯燥无味.经常有小伙伴问我,胖哥你怎么天天那么有时间去搞新东西,透露一下秘诀呗. 好吧,今天就把Mybatis-pl ...

  7. mybatis plus 代码生成器

    1.功能 替你生成 controller , service ,dao ,mapper, 基本上不要自己创建文件了 2.依赖 mybatis-plus-generator <!-- https: ...

  8. mybatis maven 代码生成器(mysql)

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  9. mybatis select count(*) 一直返回0 mysql_Mybatis教程1:MyBatis快速入门

    点击上方"Java技术前线",选择"置顶或者星标" 与你一起成长 一.Mybatis介绍 MyBatis是一个支持普通*SQL*查询,存储过程和高级映射的优秀持 ...

  10. Spring boot + mybatis + oracle代码生成器

    在pom文件中加入依赖 <build><plugins><!--逆向工程--><plugin><groupId>org.mybatis.ge ...

最新文章

  1. mysql8中怎么增删一列_关于MySQL的增删改查知识
  2. Arcface v1 论文翻译与解读
  3. 程序员面试题精选100题(49)-复杂链表的复制[算法]
  4. Python 必背的42个常见单词,看看你记住了几个?
  5. 事件查看器ID 1041
  6. Unity URP中的多Pass Shader和Planer shadow
  7. 计算机辅助初中英语教学,计算机辅助初中英语阅读教学的-研究.pdf
  8. android的动态注册,Android JNI 函数注册的两种方式(静态注册/动态注册)
  9. 高精度事件计时器怎么关闭_Node.js 事件循环
  10. linux程序流量平滑,Linux下按程序查实时流量 network traffic(示例代码)
  11. rabbitmq 发送的用户名是什么
  12. quartz job基本运用
  13. ElasticJob‐Lite:自定义作业分片策略
  14. MacOS为什么无法删除ABC或日语输入法
  15. Facebook正式改名 要砸600亿做这件事 改名转运能拯救这张“脸”吗?
  16. php 干扰曲线,曲线干扰控制
  17. ESP32 学习笔记(二十六)NVS
  18. 计算机图形学——游戏方向 第一章 计算机图形学概述
  19. 字符串短横线和驼峰形式的互相转换 Javascript
  20. 从零开始学_JavaScript_系列(六)——CSS的padding、margin、border属性超详细解释(图文)

热门文章

  1. max's java road
  2. CaaS环境下实践经验总结(二):监控系统部署
  3. 广东移动携手远传技术 共建移动客服标杆
  4. 有一段时间没来这里了,
  5. 手机远程ssh登录Linux,Linux SSH(远程登录)到Milestone手机
  6. 32位地址的寻址方式
  7. LWIP源码结构分析
  8. C语言入门书籍--C语言程序设计
  9. C语言中()和【】的区别?
  10. 常考数据结构与算法:求平方根