Java 4-5、Mybatis插件快速生成代码

2023-10-31

Mybatis插件快速生成代码

一、pox.xml依赖插件

<!--自动生成代码插件-->
<plugin>
  <groupId>org.mybatis.generator</groupId>
  <artifactId>mybatis-generator-maven-plugin</artifactId>
  <version>1.4.0</version>
  <configuration>
      <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
      <overwrite>true</overwrite>
      <verbose>true</verbose>
  </configuration>
</plugin>
  • 使用优势:机器生成的字段不会有遗漏和错误

  • 自动生成内容:

  1. JavaBean实体类
  2. mapper接口
  3. mapper.xml配置和SQL

二、配置generatorConfig.xml

  1. 数据库驱动(重点修改)
    选择本地硬盘上的数据库驱动包,Mac的在根目录隐藏文件夹“.m2”下

  2. 数据库连接驱动类(重点修改)
    URL(端口和数据库名)、用户名、密码

  3. 解决MySQL 8.0后,重复生成所有表的问题

  4. JDBC DECIMALNUMBBERIC 类型解析为java.math.BigDecimal

  5. 生成实体类的包名和位置

  6. 生成xml映射文件的包名和位置

  7. 生成mapper接口的包名和位置

  8. tabName是数据库中的表名domainObjectName是实体类名仅运行一次!!!(重点修改)

三、使用

  1. 打开Maven,在Plugins下找到mybatis-generatior并展开
  2. 双击运行mybatis-generatior:generate

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>
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包 -->
    <classPathEntry
            location="/Users/apple/.m2/repository/mysql/mysql-connector-java/8.0.26/mysql-connector-java-8.0.26.jar"/>
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库连接驱动类,URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/a2j?characterEncoding=utf-8"
                        userId="root" password="12345678">
            <!-- 解决mysql8.0以后重复生成所有表的问题 -->
            <property name="nullCatalogMeansCurrent" value="true"/>
        </jdbcConnection>
        <!-- true 把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成(实体)模型的包名和位置 -->
        <javaModelGenerator targetPackage="com.a2j.beans.user" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成XML映射文件的包名和位置 -->
        <sqlMapGenerator targetPackage="resources.mapper" targetProject="src/main">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成Mapper接口的包名和位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.a2j.mapper.user"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 要生成的表 tableName是数据库中的表名 domainObjectName是实体类名,仅运行一次!!!!! -->
        <table tableName="app_user" domainObjectName="AppUser" enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
    </context>
</generatorConfiguration>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 4-5、Mybatis插件快速生成代码 的相关文章

  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • 无法解析类型为 xxx 的任何 bean;限定符:[@javax.enterprise.inject.Any()]

    我有一个 LoginProvider 接口 public interface LoginProvider boolean login String username String password 以及两种不同的实现 public clas
  • 添加动态数量的监听器(Spring JMS)

    我需要添加多个侦听器 如中所述application properties文件 就像下面这样 InTopics Sample QUT4 Sample T05 Sample T01 Sample JT7 注意 这个数字可以多一些 也可以少一些
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • 如何从秘密字符串中制作 HMAC_SHA256 密钥以在 jose4j 中与 JWT 一起使用?

    我想生成 JWT 并使用 HMAC SHA256 对其进行签名 对于该任务我必须使用jose4j https bitbucket org b c jose4j wiki Home 我尝试根据秘密生成密钥 SecretKeySpec key
  • Java:使用 HttpURLConnection 的 HTTP PUT

    如何执行 HTTP PUT 我正在使用的类似乎认为它正在执行 PUT 但端点将其视为我执行了 GET 我做错了什么吗 URL url new URL https HttpURLConnection conn HttpURLConnectio
  • 在文本文件中搜索单词并返回其频率

    如何在包含单词文本的文本文件中搜索特定单词并返回其频率或出现次数 使用扫描仪 String text Question how to search for a particular word in a text file containin
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • 记录骆驼路线

    我的项目中有几个 Camel 上下文 如果可能的话 我想以逆向工程方式记录路线 因为我们希望保持与上下文相关的文档最新 最好的方法是什么 我们倾向于预先实际设计路线 并使用来自EIP book http www eaipatterns co
  • 如何在android中设置多个闹钟,在这种情况下最后一个闹钟会覆盖以前的闹钟

    我正在开发一个Android应用程序 用户可以在其中设置提醒时间 但我在以下代码中遇到一个问题 即最后一个警报会覆盖之前的所有警报 MainActivity java public void setreminders DatabaseHan
  • Java 服务器-客户端 readLine() 方法

    我有一个客户端类和一个服务器类 如果客户端向服务器发送消息 服务器会将响应发送回客户端 然后客户端将打印它收到的所有消息 例如 如果客户端向服务器发送 A 则服务器将向客户端发送响应 1111 所以我在客户端类中使用 readLine 从服
  • 列表应该如何转换为具体的实现?

    假设我正在使用一个我不知道源代码的库 它有一个返回列表的方法 如下所示 public List
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • 无法加载或查找主类,可以在命令行中使用,但不能在 IDE 中使用[重复]

    这个问题在这里已经有答案了 在将其标记为重复之前 请先听我说完 我正在尝试使用 gradle 导入一个 java 项目 功能齐全 适用于所有其他笔记本电脑 没有问题 我的项目 100 正常运行 适用于所有其他笔记本电脑 当我的笔记本电脑被重
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 如何通过 Inno Setup for NetBeans 使用自定义 .iss 文件

    我将 Inno Setup 5 与 NetBeans 8 一起使用 并且我已经能够创建一个安装程序来安装该应用程序C users username local appname 但是我希望将其安装在C Programfiles 我如何在 Ne
  • Java的-XX:+UseMembar参数是什么

    我在各种地方 论坛等 看到这个参数 并且常见的答案是它有助于高并发服务器 尽管如此 我还是找不到 sun 的官方文档来解释它的作用 另外 它是Java 6中添加的还是Java 5中存在的 顺便说一句 许多热点虚拟机参数的好地方是这一页 ht
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A

随机推荐

  • Ubuntu18.04安装ROS教程bug解决办法

    Ubuntu18 04安装ROS教程bug解决办法 写在前面 一 配置源文件bug 二 rosdep update 报错 三 安装ROS中出现bash opt ros melodic setup bash 没有那个文件或目录或者bash o
  • linux设置时间为24小时制,设置时区

    1 查看系统时间 root localhost localdomain date Thu Feb 4 14 24 18 CST 2010 时区是CST 为了彻底弄明白GMT UTC CST 我查阅了下网上的相关教程 进行整理 一般来说 UT
  • Android 应用内部存储之应用文件缓存

    前言 Android 应用内部存储之应用文件缓存的重点在最后总结 如果想快速学习 直接查看最后总结 在向手机上保存数据 一般是把数据保存在sdcard中的 大部分应用是直接在sdcard的根目录下创建一个文件夹 然后把数据保存在该文件夹中
  • 一个TCP长连接设备管理后台工程(四)---jtt808协议解析

    协议解析 从前面内容我们可以发现 808协议是一个很典型的协议格式 固定字段 变长字段 其中固定字段用来检测一个帧格式的完整性和有效性 所以一般会包含一下内容 帧头 变长字段对应的长度 校验 由于这一段的数据格式固定 目的单一 所以处理起来
  • vue/react/node项目通过eslint检查语法规范

    首先 我们打开终端 全局安装依赖 npm install g eslint 然后 以管理员身份运行项目终端 输入 eslint init 然后 这里 在初始化时会问我们想如何使用它 分别对应 仅检查语法 检查语法并发现问题 检查语法 发现问
  • 面试官:为啥索引可以让查询变快?

    您好 我是路人 更多优质文章见个人博客 http itsoku com 概述 人类存储信息的发展历程大致经历如下 由于是个人凭着自己理解总结的 因此可能不一定精确 但是毋庸置疑的是 在当代 各大公司机构部门的数据都是维护在数据库当中的 数据
  • 如何在Kubernetes中安装metrics-server以获取Node节点、Pod容器资源监控指标?

    关注 WeiyiGeek 公众号 设为 特别关注 每天带你玩转网络安全运维 应用开发 物联网IOT学习 本章目录 Kubernetes中安装metrics server以获取客户端资源监控指标 原文地址 https blog weiyige
  • 系统分析师笔记

    信息系统生命周期 1 立项阶段 企业全局 形成概念 需求分析 2 开发阶段 系统规划 系统分析 系统设计 系统实施 系统验收 3 运维阶段 通过验收和移交之后 4 消亡阶段 更新改造 功能扩展 报废重建 1 系统规划 初步调查 分析系统目标
  • bash设置成vim命令模式

    如果你习惯在vim下编辑文件或者写代码 那么对Vim命令肯定很熟悉 自然希望在bash输入命令的时候也能够使用这些命令 使得shell命令输入也便利起来 默认情况下 bash是Emacs模式的 在 bashrc里面添加一个设置 set o
  • python的name属性_Python中__name__属性的妙用

    在Python中 每一个module文件都有一个built in属性 name 这个 name 有如下特点 1 如果这个module文件是被别的文件导入的 那么 该 name 属性的值就是这个module文件的名字 2 如果这个module
  • elastic-job开源框架使用中遇到的 架包冲突错误

    最近在运行部门一个新的框架 该框架是用maven管理jar包的聚合工程 在进行运行elastic job相关的一个子项目时 报了如下的错误 Exception in thread main org springframework beans
  • 使用Django开发一个简易的留言板

    Django在线留言板demo 环境 ubuntu16 04 python3 django1 11 1 创建项目 django admin py startproject message 进入项目message 2 创建APP python
  • 伪代码和流程图

    一 逻辑是写代码的基础 逻辑是什么 三段论 命题一 JS中所有函数都是由function构造的 命题二 Function Object Array 推论 Function Object Array是由Function构造的 二 用三种语句表
  • Keras LSTM层return_sequences参数的坑

    具体用法我就不赘述了 可以参考中文文档https keras io zh layers recurrent lstm 我主要记录一下坑 网络结构如下 model Sequential model add Embedding 257 150
  • Windows安装PyTorch并配置pycharm

    Windows安装PyTorch并配置pycharm 安装PyTorch 1 下载Anaconda并安装 https www anaconda com 2 打开Anacnda Prompt创建分区并安装pytorch 创建分区并激活 con
  • 【转】c# WebApi之解决跨域问题:Cors

    c WebApi之解决跨域问题 Cors 版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net lwpoor123 article deta
  • ensp的下载与安装

    ensp的下载与安装 1 安装环境 Win 10系统安装 也可虚拟机安装 2 安装 下载链接 现在官网不让下载了 我这里有2个版本的ensp windows7和windows10的 是免费的 ensp免费下载 阿杰邦尼的博客 CSDN博客
  • 收藏清单--排序

    LeetCode 收藏清单 给你一个数组 favoriteCompanies 其中 favoriteCompanies i 是第 i 名用户收藏的公司清单 下标从 0 开始 请找出不是其他任何人收藏的公司清单的子集的收藏清单 并返回该清单下
  • DBSCAN算法的代码实现

    1 读取数据 import pandas as pd data pd read excel 演示数据 xlsx data head 2 数据可视化 import matplotlib pyplot as plt plt scatter da
  • Java 4-5、Mybatis插件快速生成代码

    Mybatis插件快速生成代码 一 pox xml依赖插件