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

2019-01-23  本文已影响21人  X兄

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

输入命令

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

自动创建成功

去文件目录看看有没有:

成功生成

大功告成了!

上一篇下一篇

猜你喜欢

热点阅读