zoukankan      html  css  js  c++  java
  • JAVA入门[7]-Mybatis generator(MBG)自动生成mybatis代码

    一、新建测试项目

    新建Maven项目MybatisDemo2,修改pom.xml引入依赖。dependencies在上节基础上新增

    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.2</version>
    </dependency>

    build添加plugin

    <build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/config/mybatis-generator-config.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.21</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

    configurationFile节点指定了mybatis generator配置文件的路径

    二、添加MBG配置文件

    运行MBG主要依靠一份配置文件,这也是学习MBG的关键。官方详细的配置说明:http://www.mybatis.org/generator/configreference/xmlconfig.html

    我们在上一步中配置了mybatis generator配置文件的目录${basedir}/src/main/resources/mybatis-generator-config.xml,现在就在对应目录新建该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>
    <!--mybatis生成工具的帮助文档可以看:-->
        <!--英文:http://www.mybatis.org/generator/usage/mysql.html-->
        <!--中文:http://www.mybatis.tk/-->
        <!--中文:http://mbg.cndocs.tk/-->
    <context id="context" targetRuntime="MyBatis3">
    <!--设置编码格式-->
    <property name="javaFileEncoding" value="UTF-8"/>
            <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/store"
    userId="root" password="root"/>
    <!--要生成的 domain 模块位置-->
    <javaModelGenerator targetPackage="com.data.pojo" targetProject="src/main/java">
                <property name="enableSubPackages" value="true"/>
                <property name="trimStrings" value="true"/>
                <property name="comments" value="true"/>
            </javaModelGenerator>
    <!--要生成的 Mapper.xml 文件位置-->
    <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
    <!--要生成的 Mapper 接口类-->
    <javaClientGenerator targetPackage="com.data.mapper" targetProject="src/main/java" type="XMLMAPPER">
                <property name="enableSubPackages" value="false"/>
            </javaClientGenerator>
            <table tableName="category" enableCountByExample="true" enableDeleteByExample="true" enableSelectByExample="true" enableUpdateByExample="true">
                <generatedKey column="Id" sqlStatement="mysql" identity="true"/>
            </table>
        </context>
    </generatorConfiguration>

    其中几个关键节点:

    1.jdbcConnection:每个context必须有一个jdbcConnection节点,用来指定数据库连接所需的数据库连接属性。

    2. javaModelGenerator:用于定义生成 model类的设置。

    3.sqlMapGenerator: 用于定义SQL映射生成器的属性

    4. javaClientGenerator: 用于定义 Java 客户端代码生成器的属性。 Java客户端生成器生成Java接口和类,它可以简单地使用生成的Java模型和XML映射文件。

    5.table: 用来从数据库中选择一个表。

    三、运行插件

    我用的IDE是IntelliJ IDEA,可以在Maven 面板双击mybatis-generator:gennerate,就会自动生成mybatis相关文件。

    Image(33)

    执行完成后效果如下:

    Image(34)

    源码:点此下载

  • 相关阅读:
    centos6:一个网卡上显示多个ip地址的错误
    博客搬家到CSDN:http://blog.csdn.net/yeweiouyang
    Codeforces Round #430 (Div. 2)
    Codeforces Round #430 (Div. 2)
    Codeforces Round #430 (Div. 2)
    Codeforces Round #426 (Div. 2)
    Codeforces Round #427 (Div. 2)
    Codeforces Round #427 (Div. 2)
    Codeforces Round #427 (Div. 2)
    Codeforces Round #427 (Div. 2)
  • 原文地址:https://www.cnblogs.com/janes/p/6424035.html
Copyright © 2011-2022 走看看