设为首页 收藏本站
查看: 971|回复: 0

[经验分享] MyBatis 自动生成xml文件

[复制链接]

尚未签到

发表于 2016-11-24 07:41:03 | 显示全部楼层 |阅读模式
package com.test.mybatis;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
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.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;
public class MybatisGeneratorUtil {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println("start generator ...");
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File(MybatisGeneratorUtil.class.getResource(
"./generator.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);
System.out.println("end generator!");
}
catch (IOException e) {
e.printStackTrace();
}
catch (XMLParserException e) {
e.printStackTrace();
}
catch (InvalidConfigurationException e) {
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}


配置文件:

<?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="E:\WorkSpace\webtest\web\WEB-INF\lib\ojdbc14-10.2.0.4.0.jar" />  
<context id="Mysql2Tables" targetRuntime="MyBatis3">  
<jdbcConnection driverClass="oracle.jdbc.OracleDriver"  
connectionURL="jdbc:oracle:thin:@10.10.10.10:1521:oracletemp"  
userId="devdb"  
password="devdb">  
</jdbcConnection>  
<javaTypeResolver >  
<property name="forceBigDecimals" value="false" />  
</javaTypeResolver>  
<javaModelGenerator targetPackage="com.mybatis" targetProject="./">  
<property name="enableSubPackages" value="true" />  
<property name="trimStrings" value="true" />  
</javaModelGenerator>  
<sqlMapGenerator targetPackage="com.mybatis"  targetProject="./">  
<property name="enableSubPackages" value="true" />  
</sqlMapGenerator>  
<javaClientGenerator type="XMLMAPPER" targetPackage="com.mybatis"  targetProject="./">  
<property name="enableSubPackages" value="true" />  
</javaClientGenerator>  
<!-- table schema="oratcdb" Schema cannot be read. tableName="VT_DEBTCOLLECTIONPLAN" domainObjectName="DebtCollectionPlan" enableCountByExample="true" enableUpdateByExample="true"  
enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">  
</table -->  
<table schema="oracledb" tableName="T_TABLE_NAME" domainObjectName="DebtCollectionPlan" enableCountByExample="true" enableUpdateByExample="true"  
enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">  
</table>  
</context>  
</generatorConfiguration>  

系统pom.xml依赖

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<outputDirectory>${project.basedir}/target</outputDirectory>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<path>/${project.build.finalName}</path>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
</plugin>
</plugins>


DSC0000.png
输出目录: target\generated-test-sources
DSC0001.png
mybatis-generator:generate -e


<!-- http://www.mybatis.org/generator/configreference/xmlconfig.html -->
<!-- http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html -->
<?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>
<!-- SqlServer数据库驱动jar -->
<classPathEntry location="renxiaoyao\.m2\com\microsoft\sqlserver\sqljdbc4\4.0\sqljdbc4-4.0.jar"/>
<context id="DB2Tables" targetRuntime="Ibatis2Java5">
<!--去除注释  -->
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库连接 -->
<jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
connectionURL="jdbc:sqlserver://10.10.10.10:3433;DatabaseName=SchemaName" userId="DBAdmin"
password="DBAdmin!@#$%^"/>
<!--默认false
Java type resolver will always use java.math.BigDecimal if the database column is of type DECIMAL or NUMERIC.
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--生成实体类 指定包名 以及生成的地址 (可以自定义地址,但是路径不存在不会自动创建  使用Maven生成在target目录下,会自动创建) -->
<javaModelGenerator targetPackage="com.xxx.entity" targetProject="MAVEN">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成SQLMAP文件 -->
<sqlMapGenerator targetPackage="com.xxx.mybatis" targetProject="MAVEN">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!--生成Dao文件 可以配置 type="XMLMAPPER"生成xml的dao实现  context id="DB2Tables" 修改targetRuntime="MyBatis3"  -->
<javaClientGenerator type="SPRING" targetPackage="com.xxx.dao" targetProject="MAVEN">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!--对应数据库表 mysql可以加入主键自增 字段命名 忽略某字段等-->
<table tableName="ApiType" domainObjectName="ApiType"
enableCountByExample="true" enableUpdateByExample="true"
enableDeleteByExample="true" enableSelectByExample="true"
selectByExampleQueryId="true">
<property name="useActualColumnNames" value="true" />
</table>
</context>
</generatorConfiguration>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-304627-1-1.html 上篇帖子: 第一章什么是MyBatis 下篇帖子: mybatis生成代码方式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表