MyBatis插件的使用:mybatis-generator、mybatis-plugin、mybatis-pagehelper

2023-11-15

使用Intellij Idea2016.3.1+Maven3.3.9。

一、mybatis-generator的使用

作用:根据数据库自动生成pojo、dao和xml文件。

1、引入mybatis-generator

pom.xml中引入配置:
<build>
    <finalName>MMall</finalName>
    <plugins>
      <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.2</version>
        <configuration>
          <!--允许移动生成的文件-->
          <verbose>true</verbose>
          <!--允许覆盖生成的文件-->
          <overwrite>true</overwrite>
        </configuration>
      </plugin>
    </plugins>
  </build>
添加完后,在Maven Projects的Plugins中会多出一个mybatis-generator,如图:

双击mybaitis-generator:generate,执行生成代码操作,控制台会提示BUILD FAILURE。
原因如下:
[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:
generate (default-cli) on project MMall: 
configfile C:\Users\Administrator\Desktop\MMall\src\main\resources\generatorConfig.xml
 does not exist -> [Help 1]
提示我们generatorConfig.xml这个文件不存在。

2、引入generatorConfig.xml配置

新建方法:在resources处右击选择New——>mybatis-generator-config,如图
填写finaname为:generatorConfig,生成代码,并修改:
<?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>
    <!--导入属性配置-->
    <properties resource="db.properties"></properties>
    <!-- 指定特定数据库的jdbc驱动jar包的位置 -->
    <classPathEntry location="${db.driverLocation}"/>
    <!--
        context:至少需要有一个<context>元素,用于指定一组对象的环境。
        必选属性:id:用来确定一个<context>元素
        可选属性:
        1、defaultModelType:**这个属性很重要**,这个属性定义了MBG如何生成**实体类**。

            conditional 默认属性,这个模型和下面的hierarchical类似,除了如果那个单独的类将只包含一个字段,
                        将不会生成一个单独的类。因此,如果一个表的主键只有一个字段,那么不会为该字段生成单独的实体类,
                        将该字段合并到基本实体类中。
            flat:该模型为每一张表只生成一个实体类。这个实体类包含表中的所有字段。**这种模型最简单,推荐使用。
            hierarchical:如果表有主键,那么该模型会产生一个单独的主键实体类,如果表还有BLOB字段,
                        则会为表生成一个包含所有BLOB字段的单独的实体类,
                       然后为所有其他的字段生成一个单独的实体类。 MBG会在所有生成的实体类之间维护一个继承关系。
        2、targetRuntime::此属性用于指定生成的代码的运行时环境。一般使用默认值即可。
                MyBatis3:*这是默认值*
                MyBatis3Simple
                Ibatis2Java2
                Ibatis2Java5
    -->
    <context id="context" defaultModelType="conditional" targetRuntime="MyBatis3">
        <!--旨在创建class时,对注释进行控制-->
        <commentGenerator>
            <!--suppressAllComments  false时打开注释,true时关闭注释-->
            <property name="suppressAllComments" value="false"/>
            <!--suppressD
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MyBatis插件的使用:mybatis-generator、mybatis-plugin、mybatis-pagehelper 的相关文章

随机推荐

  • 前端代码审查和测试

    检查代码的概念和过程 来自百度回答 https zhidao baidu com question 499002410583455364 html 1 代码检查法 1 桌面检查 这是一种传统的检查方法 由程序员检查自己编写的程序 程序员在程
  • GPT带我学-设计模式-命令模式

    1 你知道设计模式的命令模式吗 是的 我知道设计模式中的命令模式 命令模式是一种行为型设计模式 它将请求封装成一个对象 从而允许使用不同的请求 队列或日志来参数化其他对象 命令模式还支持撤销操作 并且可以提供事务的实现 在命令模式中 有四个
  • 机器学习——RBF神经网络

    RBF神经网络 本文部分资料与案例来源 MATLAB神经网络43个案例分析 RBF神经网络简述 再介绍RBF神经网络之前我们先来看一下径向基函数 RBF 在百度百科上 RBF定义如下 径向基函数是一个取值仅仅依赖于离原点距离的实值函数 也就
  • 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0"[已解决]

    前两天升级系统架构 升级后打开网页报错了 详细信息如下 未能加载文件或程序集 Newtonsoft Json Version 4 5 0 0 Culture neutral PublicKeyToken 30ad4fe6b2a6aeed 或
  • PHP架构师成长路线,PHP架构师要求

    在软件开发圈 架构师 是一个受万人追捧的头衔 架构师给人的感觉是站在软件系统后面指点江山的诸葛亮 一个系统的如何运作 运作得如何 架构师都能提前设想出来 然而 梦想是美好的 现实却是残酷的 很多人在实际工作后就会发现 梦想是成为大牛 但做的
  • 当对比学习遇上prompt,擦出了怎样的火花……

    细数最近NLP领域的热门关键词 transformer 多模态 预训练 还有不得不提的prompt 本质上说 prompt是一种激发语言模型中知识的手段 随着prompting技术的大火 有越来越多的研究者在思考 Prompt 除了让这个方
  • vue3 antd pro 框架动态路由

    此框架中路由权限使用了两种方法 主要介绍第二种方法 从路由表构建路由 前端对比后端权限字段过滤静态路由表 即 前端配置好全部的路由表 然后根据权限来与后端获取到的进行对比 最终展示对比后的数据 从后端获取路由表结构体 并构建前端路由 从后端
  • ubuntu的使用--系统目录篇(文末附Desktop目录位置)

    Ubuntu的Desktop 桌面 的目录是什么 ubuntu下的系统目录是什么样子的 1 cd命令技巧 直接进入用户的home目录 cd 进入上一个目录 cd 进入当前目录的上一层目录 cd 进入当前目录的上两层目录 cd 2 每次初始打
  • navicat 传输和同步

    同步 如果表存在 数据相同的则留 不同的则删除 然后插入目的表不存在的数据 同步相当于两个数据库表的数据拿出来比对是否有差异 传输 直接删表 插入源表数据 传输是一个数据表的数据进行插入 优缺点 这样比较的话 同步占内存但是快 适合数据量少
  • IDA反编译的几个注意和技巧

    IDA逆向程序的经验总结 关于一些类型转换以及指针和地址的总结 关于F5汇编代码不能转成c的伪代码的几个问题总结 1 jmpout的问题 2 positive sp value has been found 的问题 3 call analy
  • Java反射机制的学习

    转自 http www cnblogs com keis archive 2011 03 29 1998736 html Java反射机制是Java语言被视为准动态语言的关键性质 Java反射机制的核心就是允许在运行时通过Java Refl
  • Spring Boot 集成 Activiti7(工作流)

    Spring Boot 集成 Activiti7 工作流 本章节将介绍 Spring Boot 集成 Activiti7 工作流 Spring Boot 2 x 实践案例 代码仓库 介绍 Activiti 是一个工作流引擎 它可以将业务系统
  • 系统架构设计知识梳理--分布式架构

    CAP理论 C 一致性 一般指强一致性 A 可用性 常见指标TP999 P 分区容错性 其中一致性与可用性存在矛盾 需要开发者根据实际业务取舍 一致性解决方案 Raft算法 原理是将集群中所有服务归为三类角色 leader 领导者 foll
  • 高级应用:内部类的设计模式与内部类与外部类之间的交互

    1 内部类与外部类之间的交互 内部类与外部类之间可以相互访问对方的私有成员 这为程序设计提供了更大的灵活性和可扩展性 public class Outer private int outerVar public Outer int oute
  • 【图像分类】基于卷积神经网络和主动学习的高光谱图像分类(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 文献来源 深度神经网络最近已广泛应用于高光
  • android studio里查看一个类的帮助及其成员的方法

    在Android studio里 按f1仅仅是查看关于这工具本身的帮助 这点与Qt Creator不同 要想查看一个类及其成员的说明时 就不能简单的按 F1 键了 一 增加光标定住在一个类名或一个函数时 自动弹出相应的提供 如下图 光标在
  • 多线程的一些小问题集锦

    1 线程死亡之后不能再次启动 测试线程是否已经死亡 可以调用isAlive 方法 当线程处于就绪 运行 阻塞三种状态时 返回true 当线程处于死亡 新建状态时返回false 实例代码如下 package com thread public
  • Eclipse下通过Maven的Jetty插件运行Web工程的配置

    引用来源 Jetty7 8 的Maven插件配置 http wiki eclipse org Jetty Feature Jetty Maven Plugin Jetty9 最新的Maven插件配置 http www eclipse org
  • 卷积神经网络----无监督特征学习

    卷积神经网络是近年发展起来 并引起广泛重视的一种高效识别方法 20世纪60年代 Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性 继而提出了卷积神经网络 Conv
  • MyBatis插件的使用:mybatis-generator、mybatis-plugin、mybatis-pagehelper

    使用Intellij Idea2016 3 1 Maven3 3 9 一 mybatis generator的使用 作用 根据数据库自动生成pojo dao和xml文件 1 引入mybatis generator pom xml中引入配置