学习SSM中要写大量的配置文件和同样格式的文件, 就了解到了 Mybatis Generator 在这里做个总结
Myeclipse 中安装mybatis插件和使用:
一、首先下载和安装插件
1、Mybatis Generator 的下载地址:http://download.csdn.net/download/shayboke/9776906;
2、复制插件包中的features和plugins放到myeclipse的安装目录下的 dropins 文件夹下面;
3、重启 Myeclipse 然后在 File->New->other 搜索 mybatis 如果有,说明成功了;
二、工程目录下建立generator的配置文件
1、在创建配置文件的资源文件下右击,New->other 选择 Mybatis Generator Configuration File 双击,创建 generatorConfig.xml;
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>
<!-- 引入配置文件 -->
<properties resource="jdbc.properties" />
<!-- 指定数据连接驱动jar地址 -->
<classPathEntry location="${mysql.classPath}" />
<!-- 一个数据库一个context -->
<context id="Mysql" targetRuntime="MyBatis3">
<!-- 注释 -->
<commentGenerator>
<!-- 是否生成注释代时间戳-->
<property name="suppressDate" value="true" />
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="${driver}"
connectionURL="${url}" userId="${username}"
password="${password}">
</jdbcConnection>
<!-- 指定JDBC和Java类型转换 -->
<javaTypeResolver>
<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成实体类的包名地址 -->
<javaModelGenerator targetPackage="com.shayboke.user.pojo"
targetProject="src/main/java">
<!-- 自动为每一个生成的类创建一个构造方法,构造方法包含了所有的field;而不是使用setter;-->
<property name="constructorBased" value="false"/>
<!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
<property name="enableSubPackages" value="false" />
<!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成映射文件的包名和位置 -->
<sqlMapGenerator targetPackage="com.shayboke.user.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.shayboke.user.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 要生成哪些表 -->
<table tableName="t_user" domainObjectName="User"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
<generatedKey column="id" sqlStatement="Mysql" identity="true" />
</table>
</context>
</generatorConfiguration>
<!-- <generatorConfiguration > <context id="context1" > <jdbcConnection driverClass="???"
connectionURL="???" userId="???" password="???" /> <javaModelGenerator targetPackage="???"
targetProject="???" /> <sqlMapGenerator targetPackage="???" targetProject="???"
/> <javaClientGenerator targetPackage="???" targetProject="???" type="XMLMAPPER"
/> <table schema="???" tableName="???" > <columnOverride column="???" property="???"
/> </table> </context> </generatorConfiguration> -->
3、运行,根据配置文件生成文件
首先要引入 mybatis-generator-core-1.3.4的jar包
package com.shayboke.main;
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 GenMain {
public static void main(String[] args) {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
String genCfg = "/generatorConfig.xml";
File configFile = new File(GenMain.class.getResource(genCfg).getFile());
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = null;
try {
config = cp.parseConfiguration(configFile);
} catch (IOException e) {
e.printStackTrace();
} catch (XMLParserException e) {
e.printStackTrace();
}
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = null;
try {
myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
} catch (InvalidConfigurationException e) {
e.printStackTrace();
}
try {
myBatisGenerator.generate(null);
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
关于上面的配置文档说明可以查看我的另一篇博客文章:http://blog.csdn.net/shayboke/article/details/61202079