①、新建一个工程,并导入相应的jar包

注意:使用逆向工程时,最好新建一个工程,如果你在原来的工程中使用,那也可以,但是有一定的风险,因为mybatis是根据配置文件中配置的路径来生成的文件的,如果你工程中有相同名字的文件,那么就会被新生成的文件所覆盖。所以实际开发中,我们一般新建一个工程,将生成的文件复制到自己的所需的工程中。

②、创建配置文件 generatorConfig.xml 文件

<?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 id="testTables" targetRuntime="MyBatis3"><commentGenerator><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true" /></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/mybatisrelation" userId="root"password="root"></jdbcConnection><!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"userId="yycg"password="yycg"></jdbcConnection> --><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL和NUMERIC类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- targetProject:生成PO类的位置,重要!! --><javaModelGenerator targetPackage="com.ys.po"targetProject=".\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true" /></javaModelGenerator><!-- targetProject:mapper映射文件生成的位置,重要!! --><sqlMapGenerator targetPackage="com.ys.mapper"targetProject=".\src"><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- targetPackage:mapper接口生成的位置,重要!! --><javaClientGenerator type="XMLMAPPER"targetPackage="com.ys.mapper"targetProject=".\src"><property name="enableSubPackages" value="false" /></javaClientGenerator><!-- 指定数据库表,要生成哪些表,就写哪些表,要和数据库中对应,不能写错! --><table tableName="items"></table><table tableName="orders"></table><table tableName="orderdetail"></table><table tableName="user"></table>       </context>
</generatorConfiguration>

注意:

  1、连接数据库的配置,包括数据名称,数据库用户名密码等配置

  2、指定要生成代码的包名,包括实体类po的包名,mapper的包名等

  3、指定数据库中哪些表需要生成文件

③、运行主程序生成代码

package com.ys.test;import java.io.File;
import java.util.ArrayList;
import java.util.List;import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;public class GeneratorTest {public void testGenerator() throws Exception{List<String> warnings = new ArrayList<String>();boolean overwrite = true;//指向逆向工程配置文件File configFile = new File(GeneratorTest.class.getResource("/generatorConfig.xml").getFile());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);}public static void main(String[] args) throws Exception {try {GeneratorTest generator = new GeneratorTest();generator.testGenerator();} catch (Exception e) {e.printStackTrace();}}
}

直接运行上面的程序,控制台会打印如下代码,说明生成代码成功

然后刷新generatorConfig.xml 文件中指定的包,会发现生成了如下文件

mybatis ------ 逆向工程(十)相关推荐

  1. mybatis逆向工程配置文件怎么再偷懒(懒出天际)

    使用mybatis逆向工程时,需要在逆向工程配置文件那里指定要对那些表进行逆向工程,如果数据表很多的话,一个一个地写有点麻烦,为什么不自动生成这些XML字段呢 (我的需求是,将数据表首字母大写,然后下 ...

  2. spring boot 1.5.4 整合 mybatis(十二)

    上一篇:spring boot 1.5.4 整合log4j2(十一) Spring Boot集成Mybatis 更多更详细的配置参考文件:application.properties和<Spri ...

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

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

  4. springboot整合mybatis增删改查(三):mybatis逆向工程

    上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合. 我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够 ...

  5. mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比,于是写了个插件。

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:又一程序员进了ICU:压垮一个家庭,一张结算单就够 个人原创100W+访问量博客:点击前往,查看更多 荒腔走板 ...

  6. Springboot mybatis逆向工程org.springframework.beans.factory.BeanCreationException: Error creating bean错误

    前言 声明:这个错误只是作者在学习时候的一种情况,并不一定能够解决所有情况.还望各位审视出错具体环境!谢谢. 今天使用mybatis逆向工程 springboot本想着少写点代码,但被个bug纠缠到死 ...

  7. IDEA中Mybatis逆向工程使用方法

    1.首先创建一个Spring Boot项目 工程目录如下所示: 2..添加maven依赖 <!--mysql依赖--> <dependency><groupId>m ...

  8. MyBatis 逆向工程(MyBatis 自动生成接口以及xml)的使用

    刚学MyBatis逆向工程(还以为要反汇编呢.....) MyBatis逆向工程 个人理解就是链接数据库自动生成相关的增删改查相关的类 以及xml文件 (其中有一些不足 应该就是多表链接的问题需要自己 ...

  9. (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码

    http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...

  10. Mybatis 逆向工程使用姿势不对文档全被清空,一怒之下写了个插件……

    作者 | why技术 责编 | 王晓曼 来源 | why技术 荒腔走板 时间过的真是快,一周又要结束了.那么,你比上周更博学了吗?先来一个简短的荒腔走板,给冰冷的技术文注入一丝色彩. 上面这张照片是我 ...

最新文章

  1. RHEL6新特性之联网和服务
  2. 报名 | 极简大数据决策,培养数据化思维讲座
  3. JVM -- 运行时栈帧结构简介
  4. java rmi 还有用吗_java rmi使用后的感想
  5. 【kafka】kafka Replica无法从leader同步消息
  6. php将png图片合并到jpg图片上,php如何将png转换成jpg
  7. 通过 scrapy 爬取豆果美食热门数据, 使用 flask 搭建后端, 最后搭建一个简单的小程序
  8. Layui 表格分页控件
  9. 深度学习数据增强方法总结
  10. JavaScript实现的手风琴图片切换,鼠标悬停任意图片html前端源码
  11. 使用Word Embedding构造简洁有效的文本摘要系统
  12. 带你认识世界最值钱的十种货币
  13. PHP毕业设计项目作品源码选题(2)电子商务网上购物商城毕业设计毕设作品开题报告
  14. 机器人学回炉重造(1-2):各种典型机械臂的正运动学建模(标准D-H法)
  15. element-ui换肤,全局换肤
  16. 【下一步计划】毕业后
  17. 电荷量Q=CU=It=Ne;左右手定则总结+安培定律 2020-3-15
  18. 学点历史-欧洲君主命名
  19. 特征工程——二手车交易预测
  20. LeetCode每日一题,积少成多,量变到质变(最近比较忙不定期持续更新.........)

热门文章

  1. VS2013 异常处理
  2. [导入] 用java把页面日期控件写出来
  3. 2-3-TOMCAT服务器
  4. 阶分差数 matlab,matlab中aicbic确定阶数的太小
  5. mysql 目录更改 php_树莓派搭建LAMP,然后更改根目录
  6. 路由包含#号导致的nginx_分布式实战:Nginx缓存之OpenResty部署
  7. netty sync方法_netty是如何封装NIO的
  8. 异常将上下文初始化事件发送到类的侦听器实例._Java CLassLoader类加载器详解,一点课堂(多岸学院)...
  9. wxpython滑动面板_wxpython实现按钮切换界面的方法
  10. 电商移动促销页面设计素材PSD分层模板,轻松出稿稿