这还是在学校里跟老师学到的办法,然后随便在csdn下载一个并调试到可以用的状态。

基本由这几个文件组成,一个mysql连接的jar包。一个用于自动生成的配置文件,一个自动生成的jar包,运行jar包语句在文本中,生成完的文件在src路径下,取决于你配置的路径。

文末有工具下载地址,如果仅需要工具请直接到文末。


下面解释一下配置文件中的含义:

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>
<!--数据库驱动-->
<classPathEntry location="mysql-connector-java-5.1.28-bin.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
  <property name="suppressDate" value="true"/>

<!-- 是否去除自动生成的注释 true:是 : false:否 --> 
  <property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接地址账号密码-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.98.77:3306/icm_production_dev" userId="admin" password="!123456">
</jdbcConnection>
<javaTypeResolver>

  <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer   true,

  把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal       -->

<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--生成Model类存放位置-->

  <!-- 生成model模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径,如./src/main/java,

  也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下 -->

<javaModelGenerator targetPackage="com..icm.energy.service.model" targetProject="src">
<property name="enableSubPackages" value="true"/>

<!-- 从数据库返回的值被清理前后的空格  -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成映射文件存放位置-->
<sqlMapGenerator targetPackage="com.icm.energy.repository.dao" targetProject="src">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--生成Dao类存放位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.icm.energy.repository.dao" targetProject="src">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--生成对应表及类名 这里配置的是不生成example文件-->
<table tableName="Role" domainObjectName="Role" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>


这里提供的是5.7及一下的mysql数据库版本的生成。mysql8及以上的需要去找mysql8的jar包并且替换文件中的路径

【官方文件】:http://www.mybatis.org/generator/configreference/xmlconfig.html

还有一种方式是用Maven里的mybatis generator插件。大致做法是在pom.xml中添加依赖:

    <dependency>

   <groupId>org.mybatis</groupId>

    <artifactId>mybatis</artifactId>

    <version>3.3.1</version>

    </dependency>

    <dependency>

    <groupId>mysql</groupId>

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

    <version>5.1.26</version>

    </dependency>

    <dependency>

    <groupId>org.mybatis.generator</groupId>

    <artifactId>mybatis-generator-core</artifactId>

    <version>1.3.2</version>

    </dependency>

    </dependencies>

    <build>

    <plugins>

      <plugin>

      <groupId>org.mybatis.generator</groupId>

      <artifactId>mybatis-generator-maven-plugin</artifactId>

      <version>1.3.2</version>

      <configuration>

      <verbose>true</verbose>

      <overwrite>true</overwrite>

      </configuration>

      </plugin>

    </plugins>

    </build>

在默认情况下,MBG的配置文件的名称为generatorConfig.xml,并且与上文不同的是,这里需要指明数据库连接器的绝对路径。修改之后的配置文件如下:

<classPathEntry    location="C:/Users/yyg/Desktop/DevTool/DevTool/repository/Maven/Maven3.2.2/local/repo/mysql/mysql-connector-java/5.1.26/mysql-connector-java-5.1.26.jar" />

最后运行:在eclipse中选择pom.xml 右键run as --> Maven Build --> 在goals框中输入 mybatis-generator:generate


对比这俩种方法,我更倾向于第一种用jar语句的方法,每次只要更改想要的配置文件即可。

最后给出一个小建议,在生产环境中实体对象都基本上基于驼峰命名,但是有时候生成的文件如果都是小写是不符合规定的。

解决办法:建表的时候,字段名称两个单词的用 “_” 来连接,这样生成的model是基于驼峰式的。

mysql:

实体对象:


文章最后放出工具下载地址:链接: https://pan.baidu.com/s/1EKop1V4TQaMPBHlFUVPquA 提取码: bfhx 复制这段内容后打开百度网盘手机App,操作更方便哦

如果失效,请留言

Mybatis自动生成代码,MyBatis Generator的更多相关文章

  1. 【MyBatis】MyBatis自动生成代码查询之爬坑记

    前言 项目使用SSM框架搭建Web后台服务,前台后使用restful api,后台使用MyBatisGenerator自动生成代码,在前台使用关键字进行查询时,遇到了一些很宝贵的坑,现记录如下.为展示 ...

  2. Mybatis 自动生成代码,数据库postgresql

    最近做了一个项目,使用Mybatis自动生成代码,下面做一下总结,被以后参考: 一.提前准备: 1.工具类:mybatis-generator-core-1.3.2.jar 2.postgresql驱 ...

  3. mybatis自动生成代码插件mybatis-generator使用流程(亲测可用)

    mybatis-generator是一款在使用mybatis框架时,自动生成model,dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间 坐着在idea上用maven构建spri ...

  4. mybatis 自动生成代码(mybatis generator)

    pom.xml 文件配置 引入 mybatis generator <properties> <mysql.connector.version>5.1.44</mysql ...

  5. MyBatis自动生成代码示例

    在项目中使用到mybatis时,都会选择自动生成实体类,Mapper,SqlMap这三个东东. 手头上在用的又不方便,找了下网上,其实有很多文章,但有些引用外部文件时不成功,也不方便,所以重新整理了下 ...

  6. springboot mybatis 自动生成代码(maven+IntelliJ IDEA)

    1.在pom文件中加入需要的依赖(mybatis-generator-core) 和 插件(mybatis-generator-maven-plugin) <dependency> < ...

  7. mybatis自动生成代码工具(逆向工程)

    MyBatis自动生成实体类(逆向工程) MyBatis属于一种半自动的ORM框架,它需要我们自己编写sql语句和映射文件,但是编写映射文件和sql语句很容易出错,所以mybatis官方提供了Gene ...

  8. 自定义Mybatis自动生成代码规则

    前言 大家都清楚mybatis-generate-core 这个工程提供了获取表信息到生成model.dao.xml这三层代码的一个实现,但是这往往有一个痛点,比如需求来了,某个表需要增加字段,肯定需 ...

  9. mybatis自动生成代码

    使用maven集成mybatis-generator插件生成Mybatis的实体类,DAO接口和Map映射文件 本例中,使用的是mysql数据库 前提:表已经建好  mybatis框架的jar包,数据 ...

随机推荐

  1. 使用 ArcGIS Desktop 切瓦片

    目录 1.生成切片缓存切片方案 2.切瓦片 1.生成切片缓存切片方案 ArcGIS有默认的切片方案,如果需要自定义切片规则,需要先生成一个切片方案. 打开ArcMap,打开 工具箱(Tools Box ...

  2. C语言宏应用-------#define STR(X) #X

    C语言宏应用-------#define STR(X) #X   #:会把参数转换为字符串 #define STR(x) #x #define MAX 100 STR(MAX) 会被扩展成" ...

  3. GoldenGate 19.1 发布

    GoldenGate 19.1 新特性 For the Oracle Database ➢ Oracle Database 19c Support 支持从Oracle DB 19c抽取和投递数据,包括 ...

  4. 【PHP】两个时间段间隔30分钟的所有时间

    运用场景: 比如在进行配送时候,需要让用户选择 送达时间, 平台只需要设置每天的营业时间.比如:08:00 到  22:30. 前台在展示时候: 就需要处理成各个时间段来展示: 代码实现: <? ...

  5. k8s记录-kubeam方式部署k8s

    参考:https://blog.csdn.net/networken/article/details/84991940 # k8s工具部署方案 # 1.集群规划 | **服务器** | || ---- ...

  6. springboot 80转443

    application.yml 中配置https证书信息 向spring容器中注入两个Bean,代码如下 import java.util.Map; import org.apache.catalin ...

  7. 记录一次TraceId的问题

    多服务部署的时候,各个服务通过httpClient进行调用时候,有时候出现问题,需要进行追查.但是如果没有一个标记,就会很迷茫,特别是多个服务来回调用,就无法快速定位问题.这个时候一般是使用MDC的 ...

  8. spark 性能优化简要总结

    1.从同一个数据源尽量只创建一个rdd,后续业务逻辑复用该rdd2.如果要对某个rdd进行多次的transformation或action操作,应当持久化该rdd3.从数据源读取到rdd后,要尽早的进 ...

  9. CF723D 【Lakes in Berland】

    题目链接 题解 CF723D [Lakes in Berland] 首先将边界的水用bfs处理掉 再将中间的每一个湖泊处理出来,存入一个结构体内,结构体里记录湖泊大小和开始点 将湖泊排序从小往大填满, ...

  10. 【Python爬虫案例学习】python爬取淘宝里的手机报价并以价格排序

    第一步: 先分析这个url,"?"后面的都是它的关键字,requests中get函数的关键字的参数是params,post函数的关键字参数是data, 关键字用字典的形式传进去,这 ...