Mabatis generator可以帮忙生成DAO层、Domain层的文件,下面是一个配置文件范例:
<?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="F://JavaWeb/springmvc/driver/ojdbc6.jar" />
<context id="OracleTables" targetRuntime="MyBatis3">
<plugin type="org.mybatis.RenameClassPlugin">
<property name="searchString" value="Mapper" />
<property name="replaceString" value="Dao" />
</plugin>
<!-- 去掉注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库配置信息 -->
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl11g" userId="user"
password="user123">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- model的配置 -->
<javaModelGenerator targetPackage="com.hkt.bpu.asd.noss.clp.channelmgmt.domain"
targetProject="springmvc\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- dao的配置 -->
<sqlMapGenerator targetPackage="com.hkt.bpu.asd.noss.clp.channelmgmt.dao"
targetProject="springmvc\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- mybatis的xml配置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.hkt.bpu.asd.noss.clp.channelmgmt.dao"
targetProject="springmvc\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table tableName="CORE_IT" domainObjectName="CoreIt"
enableSelectByExample="false" enableDeleteByExample="false"
enableCountByExample="false" enableUpdateByExample="false"
selectByExampleQueryId="false">
<generatedKey column="CORE_KEY_ID" sqlStatement="SELECT SEQ_CORE_KEY_ID.NEXTVAL FROM DUAL"/>
<columnOverride column="CORE_KEY_ID" javaType="java.lang.Long"></columnOverride>
<columnOverride column="PL_FIBRE_KEY_ID" javaType="java.lang.Long"></columnOverride>
</table>
</context>
</generatorConfiguration>
最好使用eclipse或myeclipse装个mybatis generator插件进行文件的生成,因为这里使用了组件扩展。
扩展类如下:
package org.mybatis;
import static org.mybatis.generator.internal.util.StringUtility.stringHasValue;
import static org.mybatis.generator.internal.util.messages.Messages.getString;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.PluginAdapter;
public class RenameClassPlugin extends PluginAdapter {
private String searchString;
private String replaceString;
private Pattern pattern;
@Override
public boolean validate(List<String> warnings) {
// return true;
searchString = properties.getProperty("searchString");
replaceString = properties.getProperty("replaceString");
boolean valid = stringHasValue(searchString)
&& stringHasValue(replaceString);
if (valid) {
pattern = Pattern.compile(searchString);
} else {
if (!stringHasValue(searchString)) {
warnings.add(getString("ValidationError.18",
"RenameClassPlugin",
"searchString"));
}
if (!stringHasValue(replaceString)) {
warnings.add(getString("ValidationError.18",
"RenameClassPlugin",
"replaceString"));
}
}
return valid;
}
@Override
public void initialized(IntrospectedTable introspectedTable) {
String oldType = introspectedTable.getMyBatis3JavaMapperType();
Matcher matcher = pattern.matcher(oldType);
oldType = matcher.replaceAll(replaceString);
introspectedTable.setMyBatis3JavaMapperType(oldType);
String xml = introspectedTable.getMyBatis3XmlMapperFileName();
Matcher xmlMatcher = pattern.matcher(xml);
xml = xmlMatcher.replaceAll(replaceString);
introspectedTable.setMyBatis3XmlMapperFileName(xml);
}
}