一个简单Mybatis逆向工程配置Demo

我采用的是一个Java程序生成代码,然后复制到自己的项目里边去......

相关依赖展示:

generator.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="F:\workspace\niuwa-p2ps\WebContent\WEB-INF\lib\mysql-connector-java-5.1.25.jar"/>
    -->
    <!-- defaultModelType属性用于设置产生的模型类型 -->
    <context id="myBatis3"  targetRuntime="MyBatis3" defaultModelType="flat">
        <property name="mergeable" value="true" />
        <property name="javaFileEncoding" value="UTF-8" />
        
        <!-- 序列化model类 -->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动注释 -->
            <property name="suppressAllComments" value="false"/>
        </commentGenerator>

        <!--数据库链接地址账号密码-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="database_url" userId="username" password="password">
        </jdbcConnection>
        
        <!-- 默认false, 把JDBC DECIMA 和NUMERIC 类型解析为Integer, 为true时,将其解析为java.math.Bigdecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!--生成Model类存放位置-->
        <javaModelGenerator targetPackage="实体包路经" targetProject="src">
            <!-- 是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 从数据库返回的值 清理掉前后的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--生成mapper映射文件存放位置-->
        <sqlMapGenerator targetPackage="映射文件包路径" targetProject="src">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!--生成Dao类存放位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="Dao包路径"
            targetProject="src">
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>

        <!--生成对应表及类名,后面的配置:是否自动生成 *Example 类-->
        <table tableName="表名"  enableCountByExample="false"
               enableUpdateByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" selectByExampleQueryId="false">
        </table> 
        <!-- 生成全部的表 -->
        <!-- <table tableName="%"></table> -->
    </context>
</generatorConfiguration>

log4j.properties配置文件:

# Log4j properties
log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%-5p - %m%n
log4j.logger.org.apache=INFO
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PrepareStatement=DEBUG

Gernerator .java文件

public class Gernerator {

	public static void main(String[] args) throws Exception {
		List<String> warnings = new ArrayList<>();
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(new File("src/generator.xml"));
        // Configuration config = cp.parseConfiguration(ClassLoader.getSystemResourceAsStream("mybatis-generator.xml"));
        DefaultShellCallback callback = new DefaultShellCallback(true);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        myBatisGenerator.generate(null);
        for (String warning : warnings) {
            System.out.println(warning);
        }
        System.out.println("代码生成完毕");
	}
}

将上述文件需要的配置信息替换成自己的信息就好了,启动就能在对应的目录下面生成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十万芙特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值