简介

官网链接:https://mapperhelper.github.io/docs/

  1. 通用Mapper都可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。
  2. 极其方便的使用MyBatis单表的增删改查。
  3. 支持单表操作,不支持通用的多表联合查询。

上面的概述是摘自官网的介绍,就是使用这个插件的话,简单的单表操作是不需要我们再去编写代码了。

Mybatis Generator

在介绍通用mapper之前,先来介绍一下mybatis generator。详细文档配置可参照: https://gitee.com/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.md

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration><!-- 当classpath下面没有JDBC驱动的时候,我们通常通过这个属性指定驱动的路径<classPathEntry location="E:\mysql\mysql-connector-java-5.1.29.jar"/>--><!-- flat:该模型为每一张表只生成一个实体类。这个实体类包含表中的所有字段。这种模型最简单,推荐使用 --><context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"><!-- 下面这些是在mysql的关键字上自动加上 ` `--><property name="autoDelimitKeywords" value="true"/><property name="beginningDelimiter" value="`"/><property name="endingDelimiter" value="`"/><!--配置插件--><plugin type="tk.mybatis.mapper.generator.MapperPlugin"><property name="mappers" value=" tk.mybatis.mapper.common.Mapper"/><!--<property name="mappers" value="com.example.demo.utils.CommonMapper"/>--></plugin><commentGenerator><property name="suppressAllComments" value="false"/><!-- 是否取消注释 --><property name="suppressDate" value="true"/> <!-- 是否生成注释代时间戳--></commentGenerator><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=UTC&amp;useSSL=false"userId="root"password="root"></jdbcConnection><!--生成pojo--><javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java"/><sqlMapGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/resources"/><javaClientGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/java" type="XMLMAPPER"/><!-- 这里用的 % 通配符匹配全部的表,另外所有表都有自动增长的id字段。如果不是所有表的配置都一样,可以做针对性的配置 --><table tableName="%"><generatedKey column="id" sqlStatement="Mysql" identity="true"/></table></context>
</generatorConfiguration>
复制代码

编写好上面的xml配置后,就可以运行了,

使用 maven 运行(推荐)

只需要引入这个plugin就行,然后使用 mvn mybatis-generator:generate。

  <plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.5</version><configuration><configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile><verbose>false</verbose><overwrite>true</overwrite></configuration><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><--下面配置是通用mapper的配置,可选 --><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>3.4.3</version></dependency></dependencies></plugin>
复制代码

使用java类运行

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;import java.util.ArrayList;
import java.util.List;/*** @author yanghuan*/
public class MainGenerator {/*** @param args* @throws Exception*/public static void main(String[] args) throws Exception {List<String> warnings = new ArrayList<>();boolean overwrite = true;ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(MainGenerator.class.getResourceAsStream("/generator/generatorConfig.xml"));DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, null);myBatisGenerator.generate(null);}
}
复制代码

接下来就会生成对应的实体类、接口和xml文件

PageHelper的使用

一般统一mapper也会使用到强大的分页插件PageHelper PageHelper的文档地址: https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md

它的原理就是使用了mybatis提供的拦截器(plugins),对SQL进行拦截。因为是国人写的,代码的注释很完整,阅读源码压力也不会太大。 先引入依赖

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.3</version>
</dependency>
复制代码

Spring Boot中,只需要在application.yml中引入。

pagehelper:helperDialect: mysqlreasonable: truesupportMethodsArguments: trueparams: count=countSql
复制代码

具体的用法在之后使用通用mapper的时候再说明。

转载于:https://juejin.im/post/5a37600951882538e2259fbe

Mybatis 通用 Mapper 使用 ①相关推荐

  1. spring boot整合mybatis+通用mapper+pagehelper分页插件

    spring boot整合mybatis+通用mapper+pagehelper分页插件 pom依赖 <?xml version="1.0" encoding="U ...

  2. Springboot集成mybatis通用Mapper与分页插件PageHelper

    Springboot集成mybatis通用Mapper与分页插件PageHelper 插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 ...

  3. SSM项目使用Mybatis通用mapper插件tk.mybatis的用法

    SSM项目使用Mybatis通用mapper插件tk.mybatis的用法 https://blog.csdn.net/qq_40060806/article/details/82949722 TKm ...

  4. tk mybatis通用mapper

    tk mybatis通用mapper 首先要明白, tk mybatis是国人写的对mybatis的增强包, 而不是mybatis官方出的官方包 其github网址如下: https://github ...

  5. MyBatis 通用Mapper 入门教程

    通用Mapper 简单教程 Mapper 项目地址: [http://git.oschina.net/free/Mapper] 本教程代码地址: [https://github.com/oakshar ...

  6. Mybatis通用Mapper

    极其方便的使用Mybatis单表的增删改查 项目地址:http://git.oschina.net/free/Mapper 优点? 不客气的说,使用这个通用Mapper甚至能改变你对Mybatis单表 ...

  7. ORM框架之Mybatis(六)mybatis通用mapper

    一.简介通用mapper 1.1 官方介绍:(官网:https://mapperhelper.github.io/docs/) 通用Mapper都可以极大的方便开发人员.可以随意的按照自己的需要选择通 ...

  8. 从零搭建Spring Boot脚手架(4):手写Mybatis通用Mapper

    1. 前言 今天继续搭建我们的kono Spring Boot脚手架,上一文把国内最流行的ORM框架Mybatis也集成了进去.但是很多时候我们希望有一些开箱即用的通用Mapper来简化我们的开发.我 ...

  9. 第02讲:MyBatis通用Mapper

    一.windows系统安装MySQL8.0.11 MySQL官方下载地址:https://downloads.mysql.com/archives/community/ 1.将 zip 包解压到相应的 ...

最新文章

  1. 机器人“快递小哥”上岗了!京东配送机器人编队长沙亮相
  2. Android应用中使用AsyncHttpClient来异步网络数据
  3. mac添加取消开机启动
  4. 一次服务器CPU占用率高的定位分析
  5. VM虚拟机ping不通局域网其他主机的解决办法
  6. 【图像重建指标 Metrics】均方误差RMSE及平均绝对误差MAE的定义和区别
  7. 为什么要学习Python?怎么学?
  8. java多个条件排序_java定制化排序,多个条件排序
  9. IntelliJ IDEA 插件推荐
  10. UML 统一建模语言Unified Modeling Language (UML)
  11. (转)开发监控Linux 内存 Shell 脚本
  12. 关于rstudio的一些快捷键
  13. 软件系统分析与设计考试重点、复习指导及复习笔记汇总
  14. JVM,DVM,JIT,AOT,ART理解
  15. 2018美团实习生招聘——K的倍数
  16. [安洵杯 2019]easy misc 1
  17. 使用python实现往手机发短信(基于twilio)
  18. 高中数学一对一辅导如何用半年时间数学从60分到130分逆袭诀窍
  19. 软件项目报价术语总结(功能点计数元素ILF、EIF、IE、EO、EQ)
  20. ctab法提取dna流程图_CTAB法提取植物DNA.ppt

热门文章

  1. 谷歌公布十大恶意网站 均曾攻击上万网站
  2. 如何将mysql卸载干净
  3. 下划线转驼峰,并且首字母大写
  4. WritableComparable排序案例(全排序)
  5. R package XML安装
  6. python – 在循环中创建不同的变量名
  7. 基于vue cli 3.0创建前端项目并安装cube-ui
  8. 修改Spring boot内置的tomcat端口
  9. 你的应用是如何被替换的,App劫持病毒剖析
  10. HDU 4857 Couple doubi(找循环节)