这篇文章只是按照自己的需要去配置代码生成器,未对所有配置进行讲解,需要了解具体详情的,请到官网查阅文档。传送门:http://www.mybatis.org/generator/

1、首先引入相关的依赖,为了操作方便,也引入代码生成器的插件

<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version></version>
</dependency>
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version></version>
</plugin>

2、在reources中添加MyBatis Generator(MBG)的配置:generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!--配置mysql驱动的路径,否则会提示找不到驱动-->
    <classPathEntry location="/usr/local/apache-maven-3.6.0/repository/mysql/mysql-connector-java/8.0.15/mysql-connector-java-8.0.15.jar"/>

    <!--主要配置,必需的配置-->
    <context id="MySqlCOntext" defaultModelType="flat" targetRuntime="MyBatis3Simple">
        <!--注释相关配置,此处选择不生成注释-->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--配置数据库连接相关配置-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/forest?useSSL=false"
                        userId="root" password="root">
            <!--此项必填,否则生成实体时扫描的数据库不仅仅是链接中的数据库,还会包括类似于mysql、sys这样的系统数据库-->
            <property name="nullCatalogMeansCurrent" value="true" />
        </jdbcConnection>

        <!--配置实体类的包和物理路径-->
        <javaModelGenerator targetPackage="com.forest.owl.entity"
                            targetProject="/var/project/owl/src/main/java">
            <property name="enableSubPackages" value="false"/>
            <property name="trimStrings" value="false"/>
        </javaModelGenerator>

        <!--配置mapper.xml文件的包和物理路径-->
        <sqlMapGenerator targetPackage="com.forest.owl.mapper"
                         targetProject="/var/project/owl/src/main/resources">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!--配置需要生成的表,如果是所有表,则选择tableName="%"-->
        <table tableName="user"/>
        <table tableName="role"/>
        <table tableName="privilege"/>
        <table tableName="user_role"/>
        <table tableName="role_privilege"/>
    </context>
</generatorConfiguration>

3、配置完成后运行MBG的maven插件即可。

mybatis入门篇:代码生成器(MyBatis Generator)的更多相关文章

  1. mybatis入门篇:Mybatis高级查询

    1.ResultMap的association与collection association与collection功能类似,区别是一对一与一对多,这里以association为例. 首先说明一下需求: ...

  2. mybatis入门篇:Mybatis注解方式的基本用法

    @Select 1.mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <! ...

  3. mybatis入门篇:mybatis动态SQL

    1.if用法 <select id="selectUser" resultType="com.forest.owl.entity.User"> se ...

  4. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件

    原文链接 我们这一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池 ...

  5. Mybatis入门篇之结果映射,你射准了吗?

    目录 前言 什么是结果映射? 如何映射? 别名映射 驼峰映射 配置文件开启驼峰映射 配置类中开启驼峰映射 resultMap映射 总结 高级结果映射 关联(association) 例子 关联的嵌套 ...

  6. Mybatis入门篇之基础CRUD

    前言 作为一个资深后端码农天天都要和数据库打交道,最早使用的是 Hiberate,一个封装性极强的持久性框架.自从接触到 Mybatis 就被它的灵活性所折服了,可以自己写 SQL,虽然轻量级,但是麻 ...

  7. Mybatis入门及第一个Mybatis程序

    Mybatis笔记整理 所需要的基础知识 JDBC Mysql Java基础 Maven Junit 框架:是有配置文件的.最好的方式:看官网文档 1.简介 1.1.什么是MyBatis 简介 什么是 ...

  8. mybatis入门篇基——基本配置与参数说明

    Mybatis 好吧这是我第一次写这种文章~如果有不足和错误之处欢迎评论,指点.今天想谈谈关于mybatis的一些基础入门知识. 进入正题~~: a.关于mybatis: 我个人觉得mybatis深得 ...

  9. mybatis入门篇:通过SqlSession.selectList进行数据查询

    作为一个java菜鸟,早就从慕课网中学到一些基本的mybatis的用法,但是一直不成体系,懵懵懂懂,既然正式入了java这个坑,就打算好好学学,所以买了本<MyBatis从入门到精通>,在 ...

随机推荐

  1. linux文件查找find命令

    linux文件查找find命令 1.文件查找 基本介绍 在文件系统上查找符合条件的文件 linux上常见的文件查找工具:find命令 查找分类 实时查找 精确查找 基本语法 find  [option ...

  2. BBS

    __init__.py # 这个告诉程序用的是什么数据库import pymysql pymysql.install_as_MySQLdb() settings.py import os # Buil ...

  3. H3C_IRF_BFD配置

    IRF典型配置举例(BFD MAD检测方式)1. 组网需求 由于网络规模迅速扩大,当前中心交换机(Device A)转发能力已经不能满足需求,现需要在保护现有投资的基础上将网络转发能力提高一倍,并要求 ...

  4. Python练习二

    1.计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和 sum1 = 0 sum2 = 0 count = 0 while count < 99: count += 1 if ...

  5. MySQL数据库 命令行 学习笔记(一)

    常用关系型数据库1 MySQL:开源免费的适用于中小型企业的免费数据库2 oracle:甲骨文公司,商业软件,收费,适用于大型电商网站3 db2:IBM公司,银行系统主要采用db24 SqlSever ...

  6. 利用python实现两个文件夹的同步

    其实无论windows还是Linux,简单地去实现两个两个文件夹的同步只需系统自带的复制命令加参数就可以了. WINDOWS : xcopy 源文件夹\* 目标文件夹 /s /e /y Linux : ...

  7. Hello_World

    简单A+B #include <stdio> int main() { int a,b; scanf("%d%d",&a, &b); printf(&q ...

  8. [工作积累] UE4 TAA ReProjection的精度处理

    先贴一个UE4 TAA的slidehttps://de45xmedrsdbp.cloudfront.net/Resources/files/TemporalAA_small-59732822.pdf ...

  9. 自己写的C#三层代码生成器

    思来想去用T4生成代码要学习它的语法,C#本身能很简单地生成txt文件,为啥不直接批量替换模板方式自己写个的三层代码生成器.说干就干,2个小时搞定.当然各层还可以做的更精细,比如DAL层的Add方法I ...

  10. 多线程之BlockingQueue中 take、offer、put、add的一些比较

    一.概述: BlockingQueue作为线程容器,可以为线程同步提供有力的保障.   二.BlockingQueue定义的常用方法 1.BlockingQueue定义的常用方法如下:   抛出异常 ...