mybatis generator****的生成
一前言
前面已经将maven的一些基础的配置已经完成,接下来使用mybatis在maven里进行****导入.因为Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis Generator来帮我们自动生成文件
二准备工作
1.将该导入的包按照之前的规则通过pom.xml导入,但是mybatis generator所涉及到的包必须导入.
<!-- mybatis-gennerator 的jar -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
2.访问http://www.mybatis.org/generator/这个官网,找到这个XML Configuration File Reference,中文意思为XML配置文件引用,如图所示
在maven工程里新建一个xml文档,将里面的这段代码coby到这个文档里
<?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>
<context id="DB2Tables" targetRuntime="MyBatis3">
<classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />
<jdbcConnection driverClass="COM.ibm.db2.jdbc.app.DB2Driver"
<property name="forceBigDecimals" value="false" />
connectionURL="jdbc:db2:TEST"
userId="db2admin"
password="db2admin">
</jdbcConnection>
<javaTypeResolver >
</javaTypeResolver>
<property name="trimStrings" value="true" />
<javaModelGenerator targetPackage="test.model" targetProject="\MBGTestProject\src">
<property name="enableSubPackages" value="true" />
</javaModelGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject="\MBGTestProject\src">
<sqlMapGenerator targetPackage="test.xml" targetProject="\MBGTestProject\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<columnOverride column="DATE_FIELD" property="startDate" />
<table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
<property name="useActualColumnNames" value="true"/>
<generatedKey column="ID" sqlStatement="DB2" identity="true" />
<ignoreColumn column="FRED" />
<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
</generatorConfiguration>
</table>
</context>
3,修改里面的一系列参数,修改后的代码分析
<generatorConfiguration>
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 设置是否生成注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- jdbc的连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/cms"
userId="root"
password="root">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 配置实体类所在的包 -->
<javaModelGenerator targetPackage="com.eduask.chp.cms.bean" targetProject=".\src\main\java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 配置映射文件所在的目录 -->
<sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 配置DAO的接口所在的目录 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.eduask.chp.cms.dao" targetProject=".\src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 配置表与实体类名字的对照关系 -->
<table tableName="emp" domainObjectName="Emp" >
</table>
<table tableName="dept" domainObjectName="Dept" >
</table>
</context>
</generatorConfiguration>
4.接下来要运行这些代码 在这个网站找到Running MyBatis Generator,中文意思为运行mybatis Generator 点进去我们的界面如下所示:
右边个人选的是倒数第二个,翻译下为:从另一个Java程序和基于Java的配置 然后点进去你会找到如下的java运行代码:
List warnings = new ArrayList();
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);
将这些源代码coby进你新建的class文件中,将里面的xml文件的地方改为你自己的xml文件就好 修改完的代码如下所示:
List warnings = new ArrayList();
boolean overwrite = true;
File configFile = new File("mbg.xml");//这个是你之前配置generator的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);
最后你会发现一些工程已经被逆向生成,bean,dao,与映射文件已被生成 写的匆忙,如若哪里不对或者有遗漏,欢迎指正.