MyBatis3.x整理:(六)MyBatis Generator

本文详细介绍了MyBatis Generator的配置方法,包括依赖jar包、generatorConfig.xml配置文件的解析,以及如何通过Java代码启动MyBatis Generator生成代码。涵盖了数据库连接配置、Java模型生成、SQL映射文件生成及Mapper接口生成等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依赖jar包:mybatis-generator-core-1.3.6.jar

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>
  <context id="mysql" defaultModelType="hierarchical" targetRuntime="MyBatis3Simple">
    <!-- 生成的Java文件的编码 -->
    <property name="javaFileEncoding" value="UTF-8" />
    <!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
    <property name="beginningDelimiter" value="`" />
    <property name="endingDelimiter" value="`" />
 
    <!-- 注释生成器 -->
    <commentGenerator>
       <property name="suppressDate" value="true" />
       <property name="suppressAllComments" value="true" />
    </commentGenerator>
 
    <!-- 必须要有的,使用这个配置链接数据库 @TODO:是否可以扩展 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver" 
             connectionURL="jdbc:mysql://localhost:3306/mybatisdemo"
             userId="root" 
             password="123456">
    </jdbcConnection>
 
    <!-- 生成domain对象 -->
    <javaModelGenerator targetPackage="com.bigfong.mybatis.mbg.domain" targetProject="src">
       <property name="enableSubPackages" value="true" />
    </javaModelGenerator>
 
    <!-- 生成Mapper文件 -->
    <sqlMapGenerator targetPackage="com.bigfong.mybatis.mbg.mapper" targetProject="resources">
       <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>
 
    <!-- 生成Mapper接口 -->
    <javaClientGenerator targetPackage="com.bigfong.mybatis.mbg.mapper" type="XMLMAPPER" targetProject="src">
       <property name="enableSubPackages" value="true" />
    </javaClientGenerator>
 
 
    <!-- ============================================================================== -->
    <table tableName="t_user" delimitIdentifiers="true" domainObjectName="User">
      <property name="useActualColumnNames" value="true" />
       <generatedKey column="id" sqlStatement="JDBC" />
    </table>
    <!-- ============================================================================= -->
  </context>
</generatorConfiguration>

设置表相关

<table tableName="t_user" delimitIdentifiers="true" domainObjectName="User">
      <property name="useActualColumnNames" value="true" />
       <generatedKey column="id" sqlStatement="JDBC" />
</table>

使用java代码启动MGB:

public class Generator {
    public static void main(String[] args) throws Exception {
        // MBG执行过程中的警告信息
        List<String> warnings = new ArrayList<String>();
        // 生成代码重复时,是否覆盖源代码
        boolean override = false;
        InputStream in = Thread.currentThread().getContextClassLoader()
                .getResourceAsStream("generatorConfig.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(in);

        DefaultShellCallback callback = new DefaultShellCallback(override);
        // 创建MBG
        MyBatisGenerator mbg = new MyBatisGenerator(config, callback, warnings);
        mbg.generate(null);
        // 输出警告信息
        for (String warn : warnings) {
            System.out.println(warn);
        }
    }
}

 

 

源码下载

上一篇: MyBatis3.x整理:(五)缓存机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值