mybatis-plus和mybatis的代码生成

网站mybatis.plus/guide/

3.0文档

 mybatis-plus和mybatis的代码生成

 

 

加载maven:spring boot devtools,Lombok,spring web,mysql Driver

 

 mybatis-plus和mybatis的代码生成

 

mybatis-plus和mybatis的代码生成

 

 mybatis-plus和mybatis的代码生成

 

 

 

 

加dao包的扫描

 mybatis-plus和mybatis的代码生成

 

 

配置文件

 mybatis-plus和mybatis的代码生成

 

 

数据库

  mybatis-plus和mybatis的代码生成

 

 

Entity

 mybatis-plus和mybatis的代码生成

 

 

在dao层中添加一个接口

 mybatis-plus和mybatis的代码生成

 

 

Test

 mybatis-plus和mybatis的代码生成

 

 

查看日志

 mybatis-plus和mybatis的代码生成

 

 

常用注解

 mybatis-plus和mybatis的代码生成

 

 

@TableName:映射表明

@TableId:映射主键

@TableField:映射字段

 mybatis-plus和mybatis的代码生成

 

 mybatis-plus和mybatis的代码生成

 

 mybatis-plus和mybatis的代码生成

 

 

 

 

一些特殊业务可能需要在字段设置@TableField(exist=false)

 mybatis-plus和mybatis的代码生成

 

 

目录为

 mybatis-plus和mybatis的代码生成

 

 

 

重点:按照条件查询

 

 mybatis-plus和mybatis的代码生成

 

 

 mybatis-plus和mybatis的代码生成

 

 

 

 mybatis-plus和mybatis的代码生成

 

 mybatis-plus和mybatis的代码生成

 

 

 

增删改查

 

 mybatis-plus和mybatis的代码生成

 

 

 

 

 mybatis-plus和mybatis的代码生成

 

 

 mybatis-plus和mybatis的代码生成

 

 

 

1. 新建 MyBatis-Plus 代码生成器项目

  1. 参考网站:https://www.jianshu.com/p/9d8ab1bb84bb

2.添加代码生成器依赖

<dependency>

    <groupId>com.baomidou</groupId>

    <artifactId>mybatis-plus-generator</artifactId>

    <version>3.2.0</version></dependency>

3.添加模板引擎依赖

  1. MyBatis-Plus 支持 Velocity(默认)、Freemarker、Beetl,可以选择自己熟悉的模板引擎,如果都不满足您的要求,可以采用自定义模板引擎。
  2. 下面三个依赖任选其一

<!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity-engine-core --><dependency>

    <groupId>org.apache.velocity</groupId>

    <artifactId>velocity-engine-core</artifactId>

    <version>2.2</version></dependency>

<!-- https://mvnrepository.com/artifact/org.freemarker/freemarker --><dependency>

    <groupId>org.freemarker</groupId>

    <artifactId>freemarker</artifactId>

    <version>2.3.30</version></dependency>

<!-- https://mvnrepository.com/artifact/com.ibeetl/beetl --><dependency>

    <groupId>com.ibeetl</groupId>

    <artifactId>beetl</artifactId>

    <version>3.1.3.RELEASE</version></dependency>

 3.如果我们选择了非默认引擎,需要在 AutoGenerator 中 设置模板引擎。

AutoGenerator generator = new AutoGenerator();

// set freemarker engine

generator.setTemplateEngine(new FreemarkerTemplateEngine());

// set beetl engine

generator.setTemplateEngine(new BeetlTemplateEngine());

// set custom engine (reference class is your custom engine class)

generator.setTemplateEngine(new CustomTemplateEngine());

// other config...

 

4.完整pom.xml

  1. 代码生成器需要依赖数据库表,所以也需要 MySQL 驱动包

<?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.1.5.RELEASE</version>

        <relativePath/> <!-- lookup parent from repository -->

    </parent>

  

    <groupId>cn.zwq</groupId>

    <artifactId>mybatis-plus-auto-generator</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <name>mybatis-plus-auto-generator</name>

    <description>mybatis-plus-auto-generator</description>

 

    <properties>

        <java.version>1.8</java.version>

    </properties>

 

    <dependencies>

    

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

 

        <!--MyBatis-Plus代码生成器需要的依赖,开始-->

        <dependency>

            <groupId>com.baomidou</groupId>

            <artifactId>mybatis-plus-boot-starter</artifactId>

            <version>3.2.0</version>

        </dependency>

        

        <dependency>

            <groupId>com.baomidou</groupId>

            <artifactId>mybatis-plus-generator</artifactId>

            <version>3.2.0</version>

        </dependency>

        

        <dependency>

            <groupId>org.freemarker</groupId>

            <artifactId>freemarker</artifactId>

        </dependency>

        

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

        </dependency>

        

        <dependency>

            <groupId>org.projectlombok</groupId>

            <artifactId>lombok</artifactId>

        </dependency>

        <!--MyBatis-Plus代码生成器需要的依赖,结束-->

    </dependencies></project>

 

5.全局配置

 1.user.dir获取到你当前工程的 src 目录路径

 mybatis-plus和mybatis的代码生成

 

 

6. 数据库信息配置

 mybatis-plus和mybatis的代码生成

 

 

7. 包配置

 mybatis-plus和mybatis的代码生成

 

 

8.策略配置

 mybatis-plus和mybatis的代码生成

 

 

9.完整 MyBatis-Plus 代码生成器代码

  1. MyBatis-Plus 代码生成器所有配置都可以使用 Java Config 完成,不需要单独在 XML 配置。

public class SggCodeGenerator {

 

    public static void main(String[] args) {

 

        // 1、创建代码生成器

        AutoGenerator mpg = new AutoGenerator();

 

        // 2、全局配置

        GlobalConfig gc = new GlobalConfig();

        String projectPath = System.getProperty("user.dir");

        gc.setOutputDir(projectPath + "/src/main/java");

        gc.setAuthor("zwq");//生成注释中有zwq

        gc.setOpen(false); //生成后是否打开资源管理器

        gc.setFileOverride(false); //重新生成时文件是否覆盖

        gc.setServiceName("%sService"); //去掉Service接口的首字母I

        gc.setIdType(IdType.ID_WORKER_STR); //主键策略

        gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型

        gc.setSwagger2(false);//开启Swagger2模式

 

        mpg.setGlobalConfig(gc);

 

        // 3、数据源配置

        DataSourceConfig dsc = new DataSourceConfig();

        dsc.setUrl("jdbc:mysql://localhost:3306/mybatis-plus?serverTimezone=GMT%2B8");

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

        dsc.setUsername("root");

        dsc.setPassword("root");

        dsc.setDbType(DbType.MYSQL);

        mpg.setDataSource(dsc);

 

        // 4、包配置

        PackageConfig pc = new PackageConfig();

        pc.setModuleName(null); //模块名

        pc.setParent("cn.zwq.mybatis-plus");

        pc.setController("controller");

        pc.setEntity("entity");

        pc.setService("service");

        pc.setMapper("mapper");

        mpg.setPackageInfo(pc);

 

        // 5、策略配置

        StrategyConfig strategy = new StrategyConfig();

        strategy.setInclude("user");//对那一张表生成代码

        strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略

        strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀

 

        strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略

        strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作

 

        strategy.setRestControllerStyle(true); //restful api风格控制器

        strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符

 

        mpg.setStrategy(strategy);

 

        // 6、执行

        mpg.execute();

}}

 

重点:需要修改的地方

1.全局配置文件中的gc.setAuthor("jie");

2.数据源配置中的dsc.setUrl("jdbc:mysql://localhost:3306/lx?serverTimezone=GMT%2B8");

3.包配置pc.setParent("com.example.dept");

4.策略配置strategy.setInclude("dept");//对那一张表生成代码

 

 

mybatis-plus和mybatis的代码生成

 

 

mybatis-plus和mybatis的代码生成

 

 

mybatis-plus和mybatis的代码生成

 

 mybatis-plus和mybatis的代码生成

 

 


可以参考链接:https://www.jianshu.com/p/9d8ab1bb84bb

 

 

Oracle的数据源为

 // 3、数据源配置
 DataSourceConfig dsc = new DataSourceConfig();
/* dsc.setUrl("jdbc:mysql://localhost:3306/lx?serverTimezone=GMT%2B8");*/
 dsc.setUrl("jdbc:oracle:thin:@//47.106.205.71:1521/orcl");
 dsc.setDriverName("oracle.jdbc.OracleDriver");
 dsc.setUsername("LCSUSER");
 dsc.setPassword("lcsuser123");
 dsc.setDbType(DbType.ORACLE);
 mpg.setDataSource(dsc);

 参考项目的地址为:E:\suomingwork\lx\mybatis_pluslx

上一篇:2021-09-05


下一篇:python学习--字典