一、准备工作
使用Eclipse建立一个Java项目,结构如下:
其中,GenMyBatis.java用于存放项目的main函数。GenTarget目录下有三个子目录mapper_java、mapper_xml、object_example_java。还有两个配置文件database.properties。
另外,项目还需要引用一个jar包:E:\jars\mybatis-generator-core-1.3.2.jar。这个包可以从这个地址获取:https://github.com/mybatis/generator/releases
二、建立database.properties和generatorConfig.xml
database.properties用于一些数据库连接相关的配置。因为这部分配置变化的可能性较大,因此单独放到一个文件中:
classPath=E:/jars/mybatis-3.2.2/lib/ojdbc14-10.2.0.2.0.jar
jdbc_driver=oracle.jdbc.driver.OracleDriver
jdbc_url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc_user=这里输入用户名
jdbc_password=这里输入密码
generatorConfig.xml是MyBatisGenerator的配置文件,代码如下:
<?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>
<!-- 基础配置文件 -->
<properties resource="database.properties"/>
<!-- ojdbc14-10.2.0.2.0.jar 路径 -->
<classPathEntry location="${classPath}" />
<context id="oracleGenTest" targetRuntime="MyBatis3" >
<commentGenerator>
<property name="suppressDate" value="true" />
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection
driverClass="${jdbc_driver}" connectionURL="${jdbc_url}"
userId="${jdbc_user}" password="${jdbc_password}" />
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成对象和Example类相关配置 -->
<javaModelGenerator targetPackage="GenTarget.object_example_java"
targetProject="src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成mapper.xml相关配置 -->
<sqlMapGenerator targetPackage="GenTarget.mapper_xml"
targetProject="src">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- 生成mapper.java相关配置 -->
<javaClientGenerator targetPackage="GenTarget.mapper_java"
targetProject="src" type="XMLMAPPER">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 数据表 -->
<table tableName="game_record"></table>
</context>
</generatorConfiguration>
完成上述配置后,就可以开始着手写java部分的代码了。其中context下table条目中的tableName可以指定要生成那些数据表的对象和mapper。使用通配符%可以代表所有的字符,如info_%代表所有以“info_”开头的表。
三、实现main函数并运行
在 GenMyBatis.java 中键入以下代码:
package GenMyBatisTest;
import java.io.File;
import java.io.PrintWriter;
import java.io.StringWriter;
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;
/**
* MyBatisGenerator 学习
* @author Tsybius2014
* @date 2016年5月17日
* @time 下午11:58:21
* @remark
*/
public class GenMyBatis {
public static void main(String[] args) {
try {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("src/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);
System.out.println("done.");
} catch (Exception ex) {
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
ex.printStackTrace(printWriter);
System.out.println(stringWriter.toString());
}
}
}
运行完毕后,即可看到效果:
其中GameRecordMapper.java的图标有红底×号标记,这是因为我没有引用MyBatis相关的jar包,并不是代码生成的问题。
四、其他
MyBatis Generator 的在线帮助文档参见: http://www.mybatis.org/generator/index.html
END
来源:oschina
链接:https://my.oschina.net/u/1425762/blog/676973