Mybatis-逆向工程:自动生成代码

Mybatis Generator:

  简称MBG,是一个专门为Mybatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件、接口、以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等复杂sql的定义不支持自动生成;

官方文档地址:http://www.mybatis.org/generator

官方工程地质:https://github.com/mybatis/generator/releases

一、配置

mbg.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>

    <!-- 根据不同数据库选择驱动   注意路径需要改成你自己的路径   -->
    <classPathEntry location="E:\Workspaces\MyEclipse10\CodeGenerator\WebRoot\WEB-INF\lib\jtds-1.2.jar" />

    <!-- id随便起没什么意义
     targetRuntime : MyBatis3Simple -- 生成简单版的CRUD 脚本sql
MyBatis3 -- 生成带动态sql脚本
--> <context id="contextOne" targetRuntime="MyBatis3" defaultModelType="conditional"> <!-- 控制生成注释 --> <commentGenerator> <property name="suppressAllComments" value="true" /> <property name="suppressDate" value="true" /> </commentGenerator> <!-- ORACLE 的连接串--> <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@192.168.1.24:1521:ORCL" userId="root" password="123"> </jdbcConnection> <!-- MSSQL2008 --> <!--<jdbcConnection driverClass="net.sourceforge.jtds.jdbc.Driver"--> <!--connectionURL="jdbc:jtds:sqlserver://124.95.165.217/ZhengFuBan" userId="sa"--> <!--password="sql2008!@#">--> <!--</jdbcConnection>--> <javaTypeResolver type="com.code.generator.Convert" /> <!-- 实体类pojo的生成策略 (targetPackage="com.framework.code.domain"这里是生成的包名,要和程序实际包名一致) targetProject:目标工程 --> <javaModelGenerator targetPackage="com.framework.code.domain" targetProject=".\src"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- mapper.xml (targetPackage="com.framework.code.domain"这里是生成的包名,要和程序实际包名一致) targetProject:目标工程 --> <!--sqlMapGenerator: sql映射的生成策略--> <sqlMapGenerator targetPackage="com.framework.code.mapper" targetProject=".\conf" > <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!-- javaClientGenerator: mapper接口所在位置 (targetPackage="com.framework.code.domain"这里是生成的包名,要和程序实际包名一致) --> <javaClientGenerator targetPackage="com.framework.code.mapper" targetProject=".\src" type="XMLMAPPER" > <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 指定要逆向分析哪些数据库表名,根据表要创建javaBean --> <table tableName="tab_dept" domainObjectName="Department"></table> <table tableName="tab_employee" domainObjectName="Employee"></table> </context> </generatorConfiguration>

 

  运行XML:

public void testMbg(){
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("mbg.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);
}

 

二、

 

posted @ 2022-02-21 17:04  IT6889  阅读(127)  评论(0编辑  收藏  举报