mybatis官方提供了一个逆向工程包,可以针对数据库表自动生成mybatis执行所需要的Pojo、Mapper xml文件、Mapper 接口文件。

mybatis-generator有很多种用法:命令行、eclipse/IDEA、Maven插件,其使用原理完全一样。 
无论哪种方式,首先要准备两个组件包:mybatis-generator-core-1.X.X.jar 和MySQL-connector-Java-5.X.XX.jar (点击下载两个jar包)

命令行方式

从这个入手,因为最方便。 
1、新建任意目录(D:\A-TWM\Mybatis),把两个组件拷入目录。 

2、新建配置文件,命名:config.xml 
补充:下载好的jar包里面有帮助文档,打开后里面有配置文件的模板。 
config.xml内容:

pojo 的映射路径为当前正在做的项目的路径下面(也可以为任意路径下面,只不过写在其他路径的时候,在拷贝到当前项目中需要修改每一个pojo 的 package 的名称)

<?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="D:\A-TWM\Mybatis\mysql-connector-java-5.1.26-bin.jar" /><context id="sqlGenerate" targetRuntime="MyBatis3"><!-- 是否去除自动生成的注释 true:是 : false:否 --><commentGenerator><property name="suppressAllComments" value="true" /></commentGenerator><!-- 数据库链接URL、用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/tangwenmingdb?characterEncoding=utf8"userId="root" password="root"></jdbcConnection><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer;为 true时把JDBC DECIMAL和NUMERIC类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- 生成Pojo包名和位置 --><javaModelGenerator targetPackage="twm.mybatisdemo.pojo"targetProject="D:\A-TWM\Mybatis\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="true" /><!-- 清理前后的空格 --><property name="trimStrings" value="true" /></javaModelGenerator><!-- 生成Mapper映射XML文件位置 --><sqlMapGenerator targetPackage="twm.mybatisdemo.mapper"targetProject="D:\A-TWM\Mybatis\src"><property name="enableSubPackages" value="true" /></sqlMapGenerator><!-- 生成Mapper接口文件位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="twm.mybatisdemo.mapper" targetProject="D:\A-TWM\Mybatis\src"><property name="enableSubPackages" value="true" /></javaClientGenerator><!-- 要生成哪些表(更改tableName和domainObjectName就可以) --><!-- tableName:要生成的表名domainObjectName:生成后的实例名enableCountByExample:Count语句中加入where条件查询,默认为true开启enableUpdateByExample:Update语句中加入where条件查询,默认为true开启enableDeleteByExample:Delete语句中加入where条件查询,默认为true开启enableSelectByExample:Select多条语句中加入where条件查询,默认为true开启selectByExampleQueryId:Select单个对象语句中加入where条件查询,默认为true开启--><table tableName="user" domainObjectName="User"enableCountByExample="false" enableUpdateByExample="false"enableDeleteByExample="false" enableSelectByExample="false"selectByExampleQueryId="false" /><table tableName="category" /><table tableName="order"/><table tableName="product"/><table tableName="order_detail"/></context>
</generatorConfiguration>

如果table里边不配置property,默认将所有字段逆向生成为类属性。

如果有些字段并不想生成为类属性,可以用ignoreColumn标签:

<ignoreColumn column="FRED" />//忽略字段 

还可以指定逆向生成时,字段到属性的转换对应关系

<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />//无论字段是什么类型,生成的类属性都是varchar。 

3、通过cmd打开命令窗口 
运行:java -jar mybatis-generator-core-1.3.2.jar -configfile config.xml -overwrite 
出现MyBatis Generator finished successfully.表示运行成功,将指定生成位置(这里是src)的源码拷入工作项目中即可。 

Eclipse方式

1、任意新建一个 java project、将组件和将配置文件config.xml放到对应的目录,其中 Main.java  就是要运行的主程序

2、在main函数中写代码运行

package Main;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 main {public static void main(String[] args) throws Exception{List<String> warnings = new ArrayList<String>();  boolean overwrite = true;  //指向逆向工程配置文件,只需要把下面这个文件改为你自己写的配置文件即可File configFile = new File("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);}
}

3、以application的方式运行就可以了

mybatis逆向工程生成java代码和xml配置相关推荐

  1. mybatis 逆向工程生成的 Example 类的使用

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.逆向工程 逆向工程可以针对单表自动生成 mybatis 执行所需要的代码(mapper.java ...

  2. 如何使用模板Thymeleaf来自动生成java代码

    文章目录 前言 如何使用模板Thymeleaf来自动生成java代码 01 Thymeleaf 是什么? 02 Thymeleaf与springBoot的集成即使用 03 如何使用模板Thymelea ...

  3. CXF wsdl2java 生成java代码供客户端使用

    CXF wsdl2java 生成java代码供客户端使用 环境配置: 1.下载apache-cxf-2.6.2在环境变量中配置CXF_HOME 值为E:\gavin\cxf\apache-cxf-3. ...

  4. Protobuf生成Java代码(Maven)

    1.说明 本文介绍Protobuf生成Java代码的方法, 配置对应的Maven插件, 把.proto文件生成Java代码. 2.插件配置 创建Maven工程grpc-compile, 修改pom.x ...

  5. java插件开发_编写一个IDEA插件之:自动生成Java代码

    我很喜欢IDEA的一键自动生成代码功能,例如自动生成构造方法.字段的Get/Set方法.ToString方法等等,除此之外,也有一些插件提供自动生成代码的功能,例如我们所熟悉的GsonFormat插件 ...

  6. mybatis-plus生成java代码

    文章目录 前言 一.mybatis-plus生成java代码是什么 二.使用步骤 1.创建maven项目 2.导入项目依赖 3.创建代码生成器CodeGenerator.java 4.代码生成器Cod ...

  7. java获取jndi密码_用JAVA代码获取Weblogic配置的JNDI 数据源连接

    第一步:生成与JDK版本对应的weblogicjar,利用cmd 进入到weblogic_home 路径下进入到server/lib目录,然后运行  JDK  1.6 命令 "java -j ...

  8. 【Android APT】注解处理器 ( 根据注解生成 Java 代码 )

    文章目录 一.生成 Java 代码 二.实现 IButterKnife 接口 三.视图绑定主要操作 四.完整注解处理器代码 五.博客资源 Android APT 学习进阶路径 : 推荐按照顺序阅读 , ...

  9. Protobuf生成Java代码(命令行)

    1.说明 本文介绍Protobuf生成Java代码的方法, 下载必须的Protobuf工具, 然后通过命令行, 把.proto文件生成Java代码. 2.准备Protobuf工具 2.1.获取prot ...

  10. Spring MVC之基于java config无xml配置的web应用构建

    更多spring相关博文参考: spring.hhui.top 前一篇博文讲了SpringMVC+web.xml的方式创建web应用,用过SpringBoot的童鞋都知道,早就没有xml什么事情了,其 ...

最新文章

  1. ThreadLocalRandom 安全吗
  2. mysql innodb 索引 延迟更新_Mysql覆盖索引与延迟关联
  3. qq空间说说服务器维护,如何解决QQ空间说说发表不了
  4. 域名是如何被墙的_如何快速搭建属于自己的个性网站?
  5. 电脑安装系统多少钱_电脑系统安装教学
  6. 函数计算搭建 Serverless Web 应用(一)- HTTP 触发器
  7. php io流 读取wav,记php中的io流---帮助理解
  8. Agile PLM EC Understand the BOM Publishing Process
  9. Java原生代码连接MySQL数据库
  10. asp.net 提取html div,asp.net – 将div固定在html中的某一点
  11. php制作成绩单,PHP学生成绩查询及分析系统制作
  12. 卸载mysql server_windows中彻底卸载mysql
  13. 我的世界服务器彩虹云,《我的世界》彩虹云跑酷地图存档
  14. Verilog语法概述(一)
  15. Cox比例风险模型与R实现
  16. whitening(白化)
  17. Keras多层感知器模型对IMDB进行情感分析
  18. spring-boot-redis-cache集成总结及源码分析
  19. 如何留住企业中层领导
  20. 制造业数字化转型内涵和过程

热门文章

  1. JZOJ 3055. 【NOIP2012模拟10.27】比赛
  2. 【并发】关于并发、超卖处理的思路
  3. 学习 WebService 第三步:一个简单的实例(SoapUI测试REST项目)
  4. Java字符编码转换过程说明
  5. 碰到一个非常郁闷的事
  6. IntelliJ IDEA使用技巧(三)——Debug 篇
  7. 拉格朗日插值与拉格朗日反演
  8. MySQL出现Waiting for table metadata lock的场景浅析
  9. 【Stanford Online】Engineering: Algorithms1 NO.4 The Master Method
  10. 关于hbase安装出现的问题