學習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