如何使用mybatis逆向工程

复习逆向工程的使用,记录方便以后参考

mybatis,一个相对于hibernate的轻量级DAO框架,它的逆向工程可以很方便的从数据库到生成对应的entity和mapper接口。



首先准备:


准备

pom.xml引入mybatis generator的jar,若不是maven工程,可以把jar下载下来导进工程的lib下即可

01.引入依赖(加入jar)

进入maven中央仓库:https://mvnrepository.com/  搜索mybatis generator


<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.5</version>
</dependency>

02.创建表



这里俩表的关系是:员工中的d_id是外键,dept表的主键


第一:创建mybatis的全局配置文件mybatis-config.xml

注:该文件是在classpath目录下的

配置一些全局信息


进入mybatis的github仓库参看案例进行配置:搜索mybatis--》进入mybatis github---》查看doc,最后的查看链接:mybatis getting started


找到:


把这些copy到你自己新建的mybatis-config.xml文件中,最后保留并配置的信息是如下:这些参数都可以在mybatis的doc相关目录下找到如何配置,我们都可以直接copy然后稍作修改

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--驼峰命名规则-->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

    <!--包类型-->
    <typeAliases>
        <package name="cn.mym.crud.bean"/>
    </typeAliases>

</configuration>

第二:配置逆向工程配置文件:mbg.xml

注:此文件路径可以放在项目根目录,方便之后java程序的查找。这里我放在项目的根目录下

配置的参考:百度搜索mybatis generator---》进入github页面---》

进入参考文档页面 http://www.mybatis.org/generator/ -----》Quick Start Guide---》右边内容的XML Configuration File Reference

查看配置。连接:http://www.mybatis.org/generator/configreference/xmlconfig.html 如图:



然后copy官方给出的配置参考,最后我进行稍作修改之后如下:

<?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="DB2Tables" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql:///ssm_crud"
                        userId="root"
                        password="123">
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>


        <!--指定javabean生成的位置-->
        <javaModelGenerator
                targetPackage="cn.mym.crud.entity"
                targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!--指定sql映射文件生成的位置-->
        <sqlMapGenerator
                targetPackage="mapper"
                targetProject=".\src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!--指定dao接口生成的位置:mapper接口-->
        <javaClientGenerator
                type="XMLMAPPER"
                targetPackage="cn.mym.crud.dao"
                targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!--指定每个表的生成策略-->
        <table tableName="tbl_emp" domainObjectName="Employee"></table>
        <table tableName="tbl_dept" domainObjectName="Department"></table>

    </context>
</generatorConfiguration>


第三:通过java程序进行逆向工程



java代码官方也给出案例:


我们在建立一个测试类copy代码,正确的导入相关mybatis generator的包后,执行即可:

public class GBMTest {

    public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {
        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);
    }
}

执行后查看配置好的bean和mapper生成的位置,刷新可以看到:




附加:去除mapper接口中的注释


首先删除生成的内容


然后修改逆向工程策略配置文件:mbg.xml

修改一项内容:

查看官文档说明:


先找到最下方有配置案例  copy到mbg.xml:注意copy的位置,放到context标签中





查看官方文档的配置说明:




那么最后的标签内容为:

        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>


最后再次执行逆向工程


ok,没有了注释,那么有其他需求可以参考官方文档进行配置







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值