mybatis generatorConfig.xml生成配置文件及三种运行方式
https://blog.csdn.net/gavin5033/article/details/83002335
一 ,cmd命令执行配置文件
本人工作目录结构(图一)
在自己放配置文件的目录下新建generatorConfig.xml,与我的目录不冲突,放哪里都可以。
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>
<!-- 引入mysql-connector-java-5.1.30.jar位置 -->
<classPathEntry location="E:/maven/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar" />
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/huahua" userId="root" password="root">
</jdbcConnection>
<!--
默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--
生成model模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径
也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下
-->
<javaModelGenerator targetPackage="com.entity" targetProject="E:\workspace\maven_test\src\main\java">
<property name="enableSubPackages" value="true" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--对应的mapper.xml文件 -->
<sqlMapGenerator targetPackage="com.mapping" targetProject="E:\workspace\maven_test\src\main\java">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 对应的Mapper接口类文件 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="E:\workspace\maven_test\src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 生成那些表,tableName对应数据库表,domainObjectName对应实体类名 -->
<table tableName="test" domainObjectName="Test" enableCountByExample="true" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
2 . 根据上图配置好后,下载下载mybatis-generator-core,用于cmd启动xml文件。
下载地址,我用的1.3.2版本:
http://download.csdn.net/download/qq_22860341/9849578
将下载好的mybatis-generator-core-1.3.2放在与generatorConfig.xml同一目录下,如上图所示我放在项目上的位置和下图所示根目录路径:
3.配置和启动就需要一个如上所示的xml文件和jar即可。
打开cmd,进入上图路径下的lib目录,复制脚本:Java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
回车运行如下:
这样在你xml配置的路径下就有了,项目上刷新就出来了。
二 ,通过Main方法执行配置文件
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>
<!-- 引入mysql-connector-java-5.1.30.jar位置 -->
<!-- <classPathEntry location="E:/maven/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar" /> -->
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/huahua" userId="root" password="root">
</jdbcConnection>
<!--
默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--
生成model模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径
也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下
-->
<javaModelGenerator targetPackage="com.entity" targetProject="E:\workspace\maven_test\src\main\java">
<property name="enableSubPackages" value="true" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--对应的mapper.xml文件 -->
<sqlMapGenerator targetPackage="com.mapping" targetProject="E:\workspace\maven_test\src\main\java">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 对应的Mapper接口类文件 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="E:\workspace\maven_test\src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 生成那些表,tableName对应数据库表,domainObjectName对应实体类名 -->
<table tableName="test" domainObjectName="Test" enableCountByExample="true" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
2.java.main方法执行代码:
package com.text;
import java.io.*;
import java.util.*;
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;
//以上import需要 mybatis-generator-core-1.3.2.jar
public class Text {
public static void main(String[] args) {
try {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
String genCfg = "/generatorConfig.xml";
File configFile = new File(Text.class.getResource(genCfg).getFile());
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = null;
config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
} catch (Exception e) {
e.printStackTrace();
}
}
}
三,通过Maven插件运行。
上面我们的工程是通过maven构建的,mybatis generator中也包含了一个可以集成到Maven的插件,具体做法如下:
修改pom.xml文件,在project标签里面加入如下:
<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>
2.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>
<!-- 引入mysql-connector-java-5.1.30.jar位置 -->
<classPathEntry location="E:/maven/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar" />
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/huahua" userId="root" password="root">
</jdbcConnection>
<!--
默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--
生成model模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径
也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下
-->
<javaModelGenerator targetPackage="com.entity" targetProject="E:\workspace\maven_test\src\main\java">
<property name="enableSubPackages" value="true" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--对应的mapper.xml文件 -->
<sqlMapGenerator targetPackage="com.mapping" targetProject="E:\workspace\maven_test\src\main\java">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 对应的Mapper接口类文件 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="E:\workspace\maven_test\src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 生成那些表,tableName对应数据库表,domainObjectName对应实体类名 -->
<table tableName="test" domainObjectName="Test" enableCountByExample="true" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
3,运行方法:在eclipse 中,选择pom.xml文件,击右键先择Run AS——>Maven Build… ——>在Goals框中输入:mybatis-generator:generate
--------------------- 作者:飞奔的波大爷 来源:CSDN 原文:https://blog.csdn.net/qq_22860341/article/details/72638725?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!
---------------------
作者:gavin5033
来源:CSDN
原文:https://blog.csdn.net/gavin5033/article/details/83002335
版权声明:本文为博主原创文章,转载请附上博文链接!
mybatis generatorConfig.xml生成配置文件及三种运行方式的更多相关文章
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
c#封装DBHelper类 public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...
- python 全栈开发,Day94(Promise,箭头函数,Django REST framework,生成json数据三种方式,serializers,Postman使用,外部python脚本调用django)
昨日内容回顾 1. 内容回顾 1. VueX VueX分三部分 1. state 2. mutations 3. actions 存放数据 修改数据的唯一方式 异步操作 修改state中数据的步骤: ...
- Spring Boot将Mybatis返回结果转为驼峰的三种实现方式
本文不再更新,可能存在内容过时的情况,实时更新请访问原地址:Spring Boot将Mybatis返回结果转为驼峰的三种实现方式: 我们通常获取Mybatis返回的数据结果时想要将字段以驼峰的形式返回 ...
- spring生成EntityManagerFactory的三种方式
spring生成EntityManagerFactory的三种方式 1.LocalEntityManagerFactoryBean只是简单环境中使用.它使用JPA PersistenceProvide ...
- php 生成word的三种方式
原文地址 http://www.jb51.net/article/97253.htm 最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像只要是标题带PHP的貌似点击 ...
- javascript生成对象的三种方法
/** js生成对象的三种方法*/ // 1.通过new Object,然后添加属性 示例如下: var people1 = new Object(); people1.name = 'xiaohai ...
- php生成随机数的三种方法
php生成随机数的三种方法 如何用php生成1-10之间的不重复随机数? 例1,使用shuffle函数生成随机数. <?php$arr=range(1,10);shuffle($arr);for ...
- PHP生成word的三种方式
摘要: 最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像在博客园发表博客只要是标题带PHP的貌似点击量都不是很高(哥哥我标题还是带上PHP了),不知道为什么,估计 ...
- Windows下图文详解PHP三种运行方式(php_mod、cgi、fastcgi)
PHP能不能成功的在Apache服务器上运行,就看我们如何去配置PHP的运行方式.PHP运行目前为止主要有三种方式: a.以模块加载的方式运行,初学者可能不容易理解,其实就是将PHP集成到Apache ...
随机推荐
- MySQL 5.7主从复制实战篇
MySQL 5.7主从复制实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装MySQL数据库并启动 1>.在MySQL官方下载相应的安装包(https://dev ...
- openstack创建实例时aborted: Block Device Mapping is Invalid
问题产生原因: 直接先不创建新卷,点击否,待实例创建完毕后再分配卷.
- java线程基础巩固---分析Thread的join方法详细介绍,结合一个典型案例
关于Thread中的join方法貌似在实际多线程编程当中没怎么用过,在当初学j2se的时候倒时去学习过它的用法,不过现在早已经忘得差不多啦,所以对它再复习复习下. 首先先观察下JDK对它的介绍: 其实 ...
- linux系统编程之信号(二)
经过了漫长的间歇,对于c语言的学习也被中断了很久,现实确实有很多的无耐,计划中的事情总会被打乱,但不管怎样,学习的道路是不能休止的,所以经过了一断温习后现在继续学习C语言,话不多说,进入正题: 信号分 ...
- mingw控制台中文乱码
乱码原因 直接先用一段话讲乱码原因,看不懂老老实实就往下看吧 其实我用Sublime或者VSCode等编辑器写代码出现的控制台中文乱码问题是编译器mingw输出的数据使用的是UTF-8编码,而控制台用 ...
- (三)WCF之契约
自从我们接收ITOO项目之后,就必须跟WCF打交道,既然必须直面WCF,我就对WCF进行了研究(还不是很深入,是自己目前的理解).之前对WCF的一些基础知识进行了简单的介绍,本篇重点来介绍WCF的契约 ...
- 自定义异步IO框架
异步就是回调 异步 = 非阻塞+循环 select只能完成IO多路复用,不能完成异步 IO多路复用--->监听多个socket对象,这个过程是同步的 利用其特性可以开发异步模块 异步IO:非阻塞 ...
- Acwing P298 围栏
Analysis ①首先将所有粉刷匠,按照必须刷的小木块Si从小到大排序. 上面这个操作为了保证我们可以顺序处理. ②我们可以设f[i][j]表示为,前i个粉刷匠,刷了前i个木块.可以有些木块选择不刷 ...
- Hive 数据类型与文件格式
一.基本数据类型 1.基本数据类型 Tinyint 1byte有符号整数 比如20 Smalint 2byte有符号整数 比如20 Int 4byte有符号整数 比如20 Big ...
- Apache Kylin v3.0.0-alpha 发布
Apache Kylin v3.0.0-alpha 发布 Apr 19, 2019 • Shaofeng Shi 近日 Apache Kylin 社区很高兴地宣布,Apache Kylin v3.0. ...