美文网首页
Mybatis自动生成实体类和Mapper文件

Mybatis自动生成实体类和Mapper文件

作者: X兄 | 来源:发表于2019-01-23 11:30 被阅读21次

    Mybatis自动生成实体类和Mapper文件

    我们在做项目时,少不了用到Mybatis框架,更少不了创建实体类和书写sql语句,当数据库表很多时,手动创建会耗时耗力,做着大量重复性的工作,很让人头疼,下面我将介绍如何配置利用Mybatis插件自动创建生成。

    如下图,这是自动创建的Mapper文件,它根据数据库表已经自动给我们书写好了基本的sql语句,包括增、删、改、查,基本满足了我们的开发需求,十分方便。

    利用插件自动生成的Mapper文件

    开发时,创建实体类是必不可少的,手动创建大大降低了我们的开发效率,如图,我们可以利用插件自动创建:

    利用插件自动创建的实体类

    自动创建方法:

    1.首先创建好我们的项目,Maven、Springboot项目

    2.在pom.xml中加入相关配置:    

    <properties>

        <maven.compiler.source>1.8</maven.compiler.source>

        <maven.compiler.target>1.8</maven.compiler.target>

    </properties>

    <!--Mybatis相关的配置-->

    <dependency>

        <groupId>javax.servlet</groupId>

        <artifactId>javax.servlet-api</artifactId>

    </dependency>

    <dependency>

        <groupId>org.mybatis.spring.boot</groupId>

        <artifactId>mybatis-spring-boot-starter</artifactId>

        <version>2.0.0</version>

    </dependency>

    <dependency>

        <groupId>junit</groupId>

        <artifactId>junit</artifactId>

        <scope>test</scope>

    </dependency>

    <dependency>

        <groupId>com.github.pagehelper</groupId>

        <artifactId>pagehelper</artifactId>

        <version>4.1.0</version>

    </dependency>

    <dependency>

        <groupId>mysql</groupId>

        <artifactId>mysql-connector-java</artifactId>

        <scope>runtime</scope>

    </dependency>

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-test</artifactId>

        <scope>test</scope>

    </dependency>

    <!--Tomcat相关配置-->

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-tomcat</artifactId>

        <scope>provided</scope>

    </dependency>

    下面是配置的重点:


    加入如图配置即可

    3.在resources目录下创建generatorConfig.properties文件,并添加如下的配置:

    配置数据库和生成的路径相关信息

    4.在resources目录下创建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="generatorConfig.properties"/>

        <context id="mysqlTables" targetRuntime="MyBatis3">

            <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin>

            <commentGenerator>

                <property name="type" value="DEFAULT"/>

    <!-- 是否去除自动生成的注释 true:是 : false:否 -->

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

    <!-- 这个元素用来去除指定生成的注释中是否包含生成的日期 false:表示保护 -->

    <!-- 如果生成日期,会造成即使修改一个字段,整个实体类所有属性都会发生变化,不利于版本控制,所以设置为true -->

                <property name="suppressDate" value="true"/>

            </commentGenerator>

    <!--数据库链接URL,用户名、密码 -->

            <jdbcConnection driverClass="${driverClass}"

                            connectionURL="${connectionURL}"

                            userId="${username}"

                            password="${password}">

            </jdbcConnection>

            <javaTypeResolver>

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

            </javaTypeResolver>

    <!-- 生成模型的包名和位置-->

            <javaModelGenerator targetPackage="${modelPackage}" targetProject="MAVEN">

                <property name="enableSubPackages" value="true"/>

                <property name="trimStrings" value="true"/>

            </javaModelGenerator>

    <!-- 生成DAO的包名和位置-->

            <sqlMapGenerator targetPackage="${sqlMapPackage}" targetProject="MAVEN">

                <property name="enableSubPackages" value="true"/>

            </sqlMapGenerator>

            <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="${daoPackage}" targetProject="MAVEN">

                <property name="enableSubPackages" value="true"/>

            </javaClientGenerator>

            <table tableName="person" domainObjectName="Person" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>

    <!-- 修改以下数据库表名student即可-->

     <table tableName="student" domainObjectName="Student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>    

        </context>

    </generatorConfiguration>

    5.在IDEA内置的Terminal中输入命令:mvn clean mybatis-generator:generate

    输入命令

    然后执行命令,即可自动创建生成了

    自动创建成功

    去文件目录看看有没有:

    成功生成

    大功告成了!

    相关文章

      网友评论

          本文标题:Mybatis自动生成实体类和Mapper文件

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