Mabatis generator

来源:互联网 发布:单片机电流检测电路图 编辑:程序博客网 时间:2024/06/14 03:23

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);    }    }

原创粉丝点击