美文网首页
Mybatis Generator 逆向工程

Mybatis Generator 逆向工程

作者: 落雪无尘V | 来源:发表于2020-11-14 15:47 被阅读0次

当我们使用mybatis时,我们每次都需要自己手动创建实体类,映射文件(注解除外),还有接口来进行使用,
这样手动创建非常的繁琐,mybatis考虑到这方面所以就为我们提供了逆向工程,
使得系统可以自动创建配套的文件,让我们可以直接使用.

我个人建议工作中使用逆向工程可以新建一个项目,将生成以后的代码拷贝到目标项目中,以防有BUG!

想要使用逆向工程生成实体类和mapper 需要以下步骤:

1.生成一个普通的maven项目 导入逆向工程依赖

<!--generator逆向生成依赖-->
    <dependencies>
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.4.0</version>
        </dependency>
    </dependencies>
    <!-- mybatis-generator数据库逆向自动生成代码插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.0</version>
                <!--需要添加数据库依赖 否则会报错找不到数据库驱动-->
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.49</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

2.在resources目录下创建配置文件generatorConfig.xml和DataSource.properties

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>
    <!--导入属性配置-->
    <properties resource="DataSource.properties"></properties>
    <context id="mybatisGenerator" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="${jdbc.url}"
                        userId="${jdbc.userId}"
                        password="${jdbc.password}">
        </jdbcConnection>

        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
            NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- targetProject:生成表的实体类的位置    -->
        <javaModelGenerator targetPackage="com.lxwc.domain"
                            targetProject=".\src\main\java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="com.lxwc.mapper"
                         targetProject=".\src\main\resources">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>

        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.lxwc.mapper"
                             targetProject=".\src\main\java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>


        <!-- 指定数据库表  不要Example 模板-->
        <table tableName="books"
               domainObjectName="Book"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"
        >
            <!--设置表名对应实体类属性名 驼峰命名-->
            <property name="useActualColumnNames" value="true" />
        </table>

        <!-- 有些表的字段需要指定java类型
         <table schema="" tableName="">
            <columnOverride column="" javaType="" />
        </table> -->
    </context>
</generatorConfiguration>

DataSource.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm
jdbc.userId=root
jdbc.password=root

最后一步:修改好配置文件内的配置以后,运行maven

image.png

最后效果如下 全部自动创建

image.png

相关文章

网友评论

      本文标题:Mybatis Generator 逆向工程

      本文链接:https://www.haomeiwen.com/subject/srkwbktx.html