美文网首页
Mybatis----(3)

Mybatis----(3)

作者: 艾剪疏 | 来源:发表于2018-07-08 21:16 被阅读41次

主要内容
1、mybatis逆向工程

今天get到新技能Mybatis的逆向工程,这个功能很好用,跟大家分享一下。

image.png

主要内容:

Mybatis逆向工程(基于IDEA,用Maven工具如何生成Mybatis的代码及映射的文件)

一、配置Maven pom.xml 文件

在pom.xml增加以下插件:

<build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <!--配置文件的位置-->      <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <executions>
                    <execution>
                        <id>Generate MyBatis Artifacts</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.3.2</version>
                    </dependency>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.40</version>
                        <scope>runtime</scope>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

二、在maven项目下的src/main/resources,新建generatorConfig.xml文件

generatorConfig.xml代码如下:

需要自己配置的地方我都用XXX来表示了,且都做了详细的注释。如果需要把mapper.java和mapper.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>
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/XXXX" userId="XXXX"
                        password="XXXX">
        </jdbcConnection>
        <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
            connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
            userId="yycg"
            password="yycg">
        </jdbcConnection> -->

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

        <!-- targetProject:生成PO类的位置 -->
        <javaModelGenerator targetPackage="XX.XXX.XXX.XXX"
                            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="XX.XXX.XXX.XXX"
                         targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="XXX.XXX.XXX.XXX"
                             targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定数据库表 -->
        <table tableName="XXX"></table>
        <table tableName="XXX"></table>
        <table tableName="XXX"></table>
        <table tableName="XXX"></table>
        <!-- <table schema="" tableName="sys_user"></table>
        <table schema="" tableName="sys_role"></table>
        <table schema="" tableName="sys_permission"></table>
        <table schema="" tableName="sys_user_role"></table>
        <table schema="" tableName="sys_role_permission"></table> -->

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

三、在Intellij IDEA添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件

image.png

在name和Commond line分别填上如上图所示(是如图所示命令),apply和ok

最后点击generator,生成model,mapper,dao

image.png

效果如下:

image.png

最后在说一句,可以另建一个工程专门做这个事情,做好了之后,再把代码copy到需要的地方,这种方式较为稳妥。

image.png

参考链接

https://blog.csdn.net/sherrywong1220/article/details/53289532

相关文章

  • Mybatis----(3)

    主要内容1、mybatis逆向工程 今天get到新技能Mybatis的逆向工程,这个功能很好用,跟大家分享一下。 ...

  • mybatis----基础

    基础知识 安装 对原生态jdbc程序中问题总结 环境 java环境:jdk jdbc程序 使用jdbc查询mysq...

  • Mybatis----(1)

    主要内容1、对原生态jdbc程序(单独使用jdbc开发)问题总结2、mybatis框架原理3、mybatis入门程...

  • Mybatis----(2)

    主要内容 1 高级映射一对一一对多多对多 1 高级映射 2-1 订单商品数据模型 数据模型分析思路:即拿到一个项目...

  • mybatis----缓存

    查询缓存 mybaits提供了一级缓存和二级缓存,用于减轻数据压力,提高数据库性能。。 1.1 什么是一级缓存 我...

  • MyBatis----通用xml语句

    xml: dao接口:

  • 恶意文件夹

    【%你的iapp在这里哦/恭喜你找到了/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3...

  • 3+3+3

    九年了,不曾去过,马路那边的刘家村。唱戏,小路~抓蝌蚪,洗衣服,捞水草,漩涡~种满菜的田地,养着奶牛的茅草屋,充满...

  • 3/3

    郭一博 刘佐千 李文浩 王天聪 柳絮 刘全利 李明东

  • 3/3

网友评论

      本文标题:Mybatis----(3)

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