2018/11/12 9:46:47


添加依赖

    <dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.7</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.13</version><scope>runtime</scope></dependency>

配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><!-- 指定驱动包位置 注意事项:context中的标签存在顺序关系--><classPathEntry location="E:\respository\mysql\mysql-connector-java\8.0.12\mysql-connector-java-8.0.12.jar" /><!-- 指定数据库连接参数  context各个属性存在排序关系--><context id="DB2Tables" targetRuntime="MyBatis3"><!-- MyBatis3 MyBatis3Simple 不生成example --><!-- 序列化接口的插件 --><plugin type="org.mybatis.generator.plugins.SerializablePlugin"/><!-- 重写toString方法的插件 --><plugin type="org.mybatis.generator.plugins.ToStringPlugin"/><!--<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/>--><commentGenerator><!-- 是否去除自动生成的注释(生成的注释是英文的) true:是 : false:否 --><property name="suppressAllComments" value="true" /></commentGenerator><!-- 配置数据库连接 mysql8.0的坑 --><jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"connectionURL="jdbc:mysql://127.0.0.1/OVLS?useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowPublicKeyRetrieval=true"userId="root"password="1258"></jdbcConnection><!-- 这个元素的配置用来指定JDBC类型和Java类型如何转换 --><javaTypeResolver ><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- 指定实体类存放位置 项目路径 --><javaModelGenerator targetPackage="包名" targetProject="*\src\main\java"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><!-- 指定SQL定义的XML文件存放位置 --><sqlMapGenerator targetPackage="所在目录"  targetProject="*\src\main\resources"><property name="enableSubPackages" value="true" /></sqlMapGenerator><!-- 指定Mapper映射器存放位置 --><!-- type:该属性用于选择一个预定义的客户端代码(可以理解为Mapper接口)生成器,用户可以自定义实现,需要继承org.mybatis.generator.codegen.AbstractJavaClientGenerator类,必选有一个默认的构造方法。 该属性提供了以下预定的代码生成器,首先根据<context>的targetRuntime分成三类:MyBatis3:ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件MIXEDMAPPER:XML和注解的混合形式,(上面这种情况中的)SqlProvider注解方法会被XML替代。XMLMAPPER:所有的方法都在XML中,接口调用依赖XML文件。MyBatis3Simple:ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件XMLMAPPER:所有的方法都在XML中,接口调用依赖XML文件。 --><javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="包名"  targetProject="*\src\main\java"><property name="enableSubPackages" value="true" /></javaClientGenerator><!-- 指定数据库哪些表创建实体类、SQL文件、Mapper映射器 --><!-- <table  tableName="%"enableSelectByExample="false" enableDeleteByExample="false" enableCountByExample="false" enableUpdateByExample="false"></table>--><table tableName="answer"  enableSelectByExample="false" enableDeleteByExample="false" enableCountByExample="false" enableUpdateByExample="false"/></context>
</generatorConfiguration>

type:该属性用于选择一个预定义的客户端代码(可以理解为Mapper接口)生成器,用户可以自定义实现,需要继承org.mybatis.generator.codegen.AbstractJavaClientGenerator类,必选有一个默认的构造方法。 该属性提供了以下预定的代码生成器,首先根据的targetRuntime分成三类:
MyBatis3:

ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件
MIXEDMAPPER:XML和注解的混合形式,(上面这种情况中的)SqlProvider注解方法会被XML替代。
XMLMAPPER:所有的方法都在XML中,接口调用依赖XML文件。

MyBatis3Simple:

ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件
XMLMAPPER:所有的方法都在XML中,接口调用依赖XML文件。

运行启动方法类

public class RunMyBatisGenerator {public static void main(String[] args) throws Exception{List<String> warnings = new ArrayList<String>();boolean overwrite = true;File configFile = GetResources.getResources("generatorConfig.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);myBatisGenerator.generate(null);}
}

IDEA获取resources目录下的文件

IDEA下使用File file = new File(“generatorConfig.xml”);的方式无法读取到resources目录下的文件因此编写一个通用工具类用于读取

public class GetResources {public static final File getResources(String fileName){return new File(GetResources.class.getClassLoader().getResource(fileName).getPath());}
}

Mybatis逆向工程(生成实体类)开发指南相关推荐

  1. Mybatis自动生成实体类等代码

    Mybatis自动生成实体类等代码 具体步骤 具体步骤 在本机随便找个目录存放以下文件,如图(mybatis-generator-core-1.3.5.jar 和 mysql-connector-ja ...

  2. 你还在手写sql吗? MyBatis 逆向工程使用 使用逆向工程生成实体类,超级好用的生成实体类与mapper

    众所周知项目上的rbac在入门以后,熟悉掌握了以后,sql这些自己手动写起来是非常繁琐且无聊,那大家有没有想过用工具,只要创建表,然后使用工具告诉他一些实体类的名字跟其他信息让他自动帮我们生成这些sq ...

  3. SpringBoot中使用Mybatis逆向工程(实体类含数据库注释)

    Mybatis逆向工程:根据创建好的数据库表,生成对应的实体类.DAO.映射文件 文章目录 开发环境 1.新建SpringBoot应用 2.添加逆向工程插件依赖 3.执行逆向生成 开发环境 开发工具: ...

  4. mybatis反向生成实体类、dao层以及映射文件

    在做项目的时候,我们不得不写底层的一些繁琐代码,比如说实体类.dao层之类的,既浪费时间又费事,最主要的是还没效率,kuangkuangkuang的写半天终于写完了,到运行的时候dao层的代码居然还报 ...

  5. SSM框架使用mybatis反向生成实体类、dao和映射文件

    2.1反向生成配置文件generatorConfig.xml 文件命名generatorConfig.xml为放在resources里 <generatorConfiguration> & ...

  6. ORM框架之Mybatis(四)MyBatis生成器,逆向工程生成实体类和SQL

    一.MyBatis Generator: 1.1 MyBatis Generator项目介绍 •简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接 ...

  7. MyBatis自动生成实体类、DAO接口和Mapping映射文件的代码(逆向工程)

    MyBatis属于一种半自动的ORM框架,它需要程序员自己编写sql语句和映射文件,但是编写映射文件和sql语句很容易出错,所以mybatis官方提供了Generator生成器,自动生成DAO接口.实 ...

  8. maven 工程mybatis自动生成实体类

    generatorConfig.xml [html] view plaincopy <?xml version="1.0" encoding="UTF-8" ...

  9. mybatis逆向工程生成的实体类和表不一致缺少某些字段或者出现其他字段

    错误展示 数据库中product表的相应字段 使用Mybatis逆向工程生成的Procuct实体类 大家可以看到生成的文件和表对比,多了些别的字段,少了表中对应的字段. 原理 那是因为mybatis逆 ...

最新文章

  1. qcustomplot 游标吸附_qcustomplot游标测量功能--Apple的学习笔记
  2. hdu 3416(最短路+最大流)
  3. 统计字符串中某个字出现的次数
  4. 服务器被bash服务占满_用bash脚本自动下载ftp服务器文件
  5. 快捷指令_iOS快捷指令中心,太实用啦
  6. php手机电脑,php实现用手机关闭计算机(电脑)的方法
  7. python和java选择哪个-python和java哪个学起来更简单
  8. java动态创建bean的意义_Spring Boot如何动态创建Bean示例代码
  9. 我的Delphi开发经验谈
  10. java实现房屋出租系统
  11. 流程图里的形状符号的代表意义
  12. 综述金属功能材料在计算机技术中的应用,金属功能材料杂志
  13. git 放弃本地修改
  14. 电子科技大学计算机专业考什么,2015年电子科技大学081203计算机应用技术考研专业目录及考试科目...
  15. pc安装openwrt
  16. signal信号值对应表
  17. php怎么判断账号已登录,PHP判断用户登录状态
  18. 最初计算机研制时间科学家,美科学家研制“时间晶体”超越宇宙寿命 类似永动机...
  19. java获取网卡的mac地址
  20. 计算机未连接到网络但是可以上网,win10系统能上网但图标显示未连接的解决办法...

热门文章

  1. 巴菲特投资50年的5个心得
  2. 让游戏达到60帧真的重要吗?
  3. 引介 | RLP 编码和解码
  4. python入门——P54论一只爬虫的自我修养1
  5. 2021 年高教社杯全国大学生数学建模竞赛题目(E 题 中药材的鉴别)
  6. 类的声明、成员的访问控制和对象
  7. php取mysql某列的值,php – 获取MYSQL中某些列为null的表中的值
  8. mysql的面试2_mysql数据库面试题(2)
  9. sql server 加密_列级SQL Server加密概述
  10. 数据库startup报错_SQL Server数据库恢复过程内部–数据库STARTUP命令