欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IDEA中mybatis-generator插件使用 mybatis-generator

程序员文章站 2022-05-29 17:04:28
...

mybatis-generator可以读取数据库表自动生成对应的pojo类,接口和映射xml,非常好的工具。

体验了一下它的用法。

IDEA中安装插件idea-mybatis-generator

 

1.在IDEA中新建一个maven项目,在pom中添加如下内容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.wj</groupId>
    <artifactId>mybatis</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <!-- 自动生成代码插件 -->
<plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <configurationFile>src/main/resources/mybatis-generator.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

 

2.创建文件src/main/resources/mybatis-generator.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPEgeneratorConfigurationPUBLIC"-//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>

    <!-- 指定数据库驱动的jdbc驱动jar包的位置 -->
<classPathEntry location="${db.driverLocation}"/>

    <!-- context 是逆向工程的主要配置信息 -->
    <!-- id:起个名字 -->
    <!-- targetRuntime:设置生成的文件适用于那个 mybatis 版本 -->
<context id="default" targetRuntime="MyBatis3">

        <!--optional,旨在创建class时,对注释进行控制-->
<commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--jdbc的数据库连接-->
<jdbcConnection driverClass="${db.driverClassName}"
connectionURL="${db.url}"
userId="${db.username}"
password="${db.password}">
        </jdbcConnection>

        <!--非必须,类型处理器,在数据库类型和java类型之间的转换控制-->
<javaTypeResolver>
            <!-- 默认情况下数据库中的 decimal,bigInt 在 Java 对应是 sql 下的 BigDecimal 类 -->
            <!-- 不是 double 和 long 类型 -->
            <!-- 使用常用的基本类型代替 sql 包下的引用类型 -->
<property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- targetPackage(需要预先创建好package,根据需要命名) 和 targetProject:生成的pojo实体类的包和位置 -->
<javaModelGenerator targetPackage="com.mall.pojo"
targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <!-- 是否对model添加构造函数 -->
<property name="constructorBased" value="true"/>
            <!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
<property name="trimStrings" value="true"/>
            <!-- 建立model对象是否不可改变 true则生成的model对象不会有setter方法 -->
<property name="immutable" value="false"/>
        </javaModelGenerator>

        <!-- targetPackage(需要预先创建好package,根据需要命名) 和 targetProject:生成的 mapper 文件的包和位置 -->
<sqlMapGenerator targetPackage="mybatis"
targetProject="src/main/resources">
            <!-- 针对oracle数据库的一个配置,是否把 schema 作为子包名 -->
<property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!-- targetPackage(需要预先创建好package,根据需要命名) 和 targetProject:生成的 interface 文件的包和位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.mall.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!--tableName数据库表名,domainObjectName生成的pojo类名 -->
<table tableName="user" domainObjectName="User"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
        </table>
    </context>
</generatorConfiguration>

 

3.创建文件datasource.properties

db.driverLocation=/Users/admin/IdeaProjects/mysql-connector-java-5.1.6.jar
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://127.0.0.1:3306/wjdb?characterEncoding=utf-8
db.username=root
db.password=123456

 

4.创建一个Configurations

maven类型

name mybatis-generator

working directory:  /Users/admin/IdeaProjects/mybatis

command line: mybatis-generator:generate -e

相关标签: mybatis-generator