程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Mybatis逆向工程(mybatis generator)详细配置及说明

发布于2021-05-29 19:28     阅读(1003)     评论(0)     点赞(25)     收藏(4)


我在写SSM项目(学校作业)的时候想使用这个,网上找了一圈,最后总结一下。
有些教程要自己导mybatis generator的包,还要自己配路径,我觉得毕竟都有maven了,手动设置包路径真的吃力不讨好,这里使用maven导入。
更多详细内容请参照官方文档。

官方文档 传送门(点我)


在这里插入图片描述

0.准备目录结构

  • 数据库表准备
    个人建议:测试一个东西尽量简单清晰,没必要搞个很复杂的表
    测试数据表如下(Mysql)
    CREATE TABLE `user`
    (
        `username` varchar(30) NOT NULL,
        `password` varchar(30) DEFAULT NULL,
        PRIMARY KEY (`username`)
    ) ENGINE = InnoDB
      DEFAULT CHARSET = utf8;
    
    在这里插入图片描述
  • 目录准备
    准备最基础的就行,dao和pojo、mapper(毕竟我们要生成的就是这几个)
    在这里插入图片描述

1.导入mybatis generator依赖

<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.5</version>

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

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>
    </dependencies>

    <executions>
        <execution>
            <id>mybatis generator</id>
            <phase>package</phase>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <!--允许移动生成的文件-->
                <verbose>true</verbose>
                <!--允许自动覆盖文件-->
                <overwrite>true</overwrite>
                <configurationFile>
                    src/main/resources/generatorConfig.xml
                </configurationFile>
            </configuration>
        </execution>
    </executions>
</plugin>

2.配置generatorConfig.xml文件

  • 对于配置文件需要修改的地方我用中文标出

  • 数据库连接配置最好写死在这里面,因为我之前想复用之前的database.properties,引入的方式有时候总是莫名其妙的找不到。(应该是我菜)

  • 注意:Mysql8之后的驱动路径为

    com.mysql.cj.jdbc.Driver
    

    Mysql8以前的驱动路径为

    com.mysql.jdbc.Driver
    
<?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="default" targetRuntime="MyBatis3">
      <commentGenerator>
          <!-- 是否去除自动生成的注释 true:是 : false:否 -->
          <property name="suppressAllComments" value="true" />
      </commentGenerator>

      <!--jdbc的数据库连接-->
      <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                      connectionURL="jdbc:mysql://localhost:3306/ssm?characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=UTC&amp;rewriteBatchedStatements=true "
                      userId="账号"
                      password="密码">
          <property name="nullCatalogMeansCurrent" value="true" />
      </jdbcConnection>

      <!-- 实体类存放位置 -->
      <javaModelGenerator targetPackage="com.修改这里.pojo"
                          targetProject=".\src\main\java">
          <!-- 是否允许子包 -->
          <property name="enableSubPackages" value="false"/>
          <!-- 是否对modal添加构造函数 -->
          <property name="constructorBased" value="true"/>
          <!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
          <property name="trimStrings" value="true"/>
          <!-- 建立modal对象是否不可改变 即生成的modal对象不会有setter方法,只有构造方法 -->
          <property name="immutable" value="false"/>


      </javaModelGenerator>


      <!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 -->
      <sqlMapGenerator targetPackage="mapper"
                       targetProject=".\src\main\resources">
      </sqlMapGenerator>

      <!-- 生成的接口位置-->
      <javaClientGenerator type="XMLMAPPER"
                       targetPackage="com.tanqi.dao" targetProject=".\src\main\java">
      </javaClientGenerator>

      <!--生成对应表及类名-->
      <table tableName="user" domainObjectName="User">
      </table>

  </context>
</generatorConfiguration>

3.执行命令mybatis-generator:generate

双击即可
在这里插入图片描述

4.生成效果

在这里插入图片描述

  • User
    在这里插入图片描述
  • UserMapper
    在这里插入图片描述
  • UserExample
    在这里插入图片描述
  • UserMapper.xml
    在这里插入图片描述

5.xxxExample的作用

对于生成的结果
在这里插入图片描述
对于UserMapper、User、UserMapper.xml这几个是很熟悉了

当然,如果不想要生成UserExample
只需要修改 generatorConfig.xml 即可

<context id="default" targetRuntime="MyBatis3Simple">

在这里插入图片描述
那么这个UserExample是用来干嘛的呢?

简单来说,Example类包含一个内部静态类 Criteria,利用Criteria我们可以在类中根据自己的需求动态生成sql where字句,不用我们自己再修改mapper文件添加或者修改sql语句了,能节省很多写sql的时间。

简单使用 传送门(点我)

如果想看详细的解释和用法,请参考官方文档 传送门(点我)
在这里插入图片描述



所属网站分类: 技术文章 > 博客

作者:以天使的名义

链接:http://www.javaheidong.com/blog/article/207196/016f42ab0e9ad924e60c/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

25 0
收藏该文
已收藏

评论内容:(最多支持255个字符)