mysql generator 命令_mybatis-generator在命令行及IDEA中的使用

项目中的mybatis文件,在数据库表字段多的时候,手工编写还是比较费时,而且是体力活,并没有技术能力提高。所以我们大多数时候使用mybatis-generator自动生成。使用这个工具,必须使用如下3个工具:

1.工具jar包,本文使用mybatis-generator-core-1.3.2.jar

org.mybatis.generator

mybatis-generator-core

1.3.2

2.xml配置文件,本文使用mybatis-config.xml

3.数据库驱动,本文使用mysql-connector-java-8.0.16.jar

mysql

mysql-connector-java

8.0.16

其中最重要的是配置mybatis-config.xml,先看一个代码:

/p>

PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

从上到下依次解释一下参数:

classPathEntry:配置jdbc驱动包

commentGenerator:注解相关配置

classPathEntry:配置jdbc驱动包

commentGenerator

suppressDate:是否自动去除注释时间戳

suppressAllComments:是否去除自动生成的注释

jdbcConnection:复制配置文件中的jdbc配置就可以

forceBigDecimals:是否强制把数据库中的decimal类型和number类型转换为BigDecimal

javaModelGenerator:生成model的存放位置

sqlMapGenerator:生成xml文件的存放位置

javaClientGenerator:生成mapper接口文件的位置,type类型有如下选择:

ANNOTATEDMAPPER,生成Java Model 和基于注解的Mapper对象

MIXEDMAPPER,生成基于注解的Java Model 和相应的Mapper对象

XMLMAPPER,生成SQLMap XML文件和独立的Mapper接口

table:要自动生成的表

tableName为数据库中表的名称,domainObjectName为映射的实体类的名称-->

schema:数据库的schema;

catalog:数据库的catalog;

alias:为数据表设置的别名,如果设置了alias,那么生成的所有的SELECT SQL语句中,列名会变成:alias_actualColumnName

domainObjectName:生成的domain类的名字,如果不设置,直接使用表名作为domain类的名字;可以设置为somepck.domainName,那么会自动把domainName类再放到somepck包里面;

enableInsert(默认true):指定是否生成insert语句;

enableSelectByPrimaryKey(默认true):指定是否生成按照主键查询对象的语句(就是getById或get);

enableSelectByExample(默认true):MyBatis3Simple为false,指定是否生成动态查询语句;

enableUpdateByPrimaryKey(默认true):指定是否生成按照主键修改对象的语句(即update);

enableDeleteByPrimaryKey(默认true):指定是否生成按照主键删除对象的语句(即delete);

enableDeleteByExample(默认true):MyBatis3Simple为false,指定是否生成动态删除语句;

enableCountByExample(默认true):MyBatis3Simple为false,指定是否生成动态查询总条数语句(用于分页的总条数查询);

enableUpdateByExample(默认true):MyBatis3Simple为false,指定是否生成动态修改语句(只修改对象中不为空的属性);

modelType:参考context元素的defaultModelType,相当于覆盖;

delimitIdentifiers:参考tableName的解释,注意,默认的delimitIdentifiers是双引号,如果类似MYSQL这样的数据库,使用的是`(反引号,那么还需要设置context的beginningDelimiter和endingDelimiter属性)

delimitAllColumns:设置是否所有生成的SQL中的列名都使用标识符引起来。默认为false,delimitIdentifiers参考context的属性

配置好后,执行如下命令,就可以生成了:命令中的路径可以根据本地配置进行修改

java -jar D:\Users\jinjunzhu\.m2\repository\org\mybatis\generator\mybatis-generator-core\1.3.2\mybatis-generator-core-1.3.2.jar -configfile "E:\source code\springboot-rabbitmq\repository\src\main\resources\mybatis-generator.xml" -overwrite

我们可以在IDEA中进行配置,配置如下:在Run->Edit Configurations

cf3de7ca8b08cde9472fdb0c9119dcb6.png

配置好之后,执行下图的运行,或者执行命令:

mvn mybatis-generator:generate -e

ddf95211e4d0b56c48a52af16e8b2e31.png

执行上面命令后,生成文件如下图:

9e8b040e4f1a0951136516cd634f4667.png

源码地址:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值