Mybatis 通用 Mapper 使用 ①
简介
官网链接:https://mapperhelper.github.io/docs/
- 通用Mapper都可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。
- 极其方便的使用MyBatis单表的增删改查。
- 支持单表操作,不支持通用的多表联合查询。
上面的概述是摘自官网的介绍,就是使用这个插件的话,简单的单表操作是不需要我们再去编写代码了。
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&characterEncoding=utf8&serverTimezone=UTC&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 使用 ①相关推荐
- spring boot整合mybatis+通用mapper+pagehelper分页插件
spring boot整合mybatis+通用mapper+pagehelper分页插件 pom依赖 <?xml version="1.0" encoding="U ...
- Springboot集成mybatis通用Mapper与分页插件PageHelper
Springboot集成mybatis通用Mapper与分页插件PageHelper 插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 ...
- SSM项目使用Mybatis通用mapper插件tk.mybatis的用法
SSM项目使用Mybatis通用mapper插件tk.mybatis的用法 https://blog.csdn.net/qq_40060806/article/details/82949722 TKm ...
- tk mybatis通用mapper
tk mybatis通用mapper 首先要明白, tk mybatis是国人写的对mybatis的增强包, 而不是mybatis官方出的官方包 其github网址如下: https://github ...
- MyBatis 通用Mapper 入门教程
通用Mapper 简单教程 Mapper 项目地址: [http://git.oschina.net/free/Mapper] 本教程代码地址: [https://github.com/oakshar ...
- Mybatis通用Mapper
极其方便的使用Mybatis单表的增删改查 项目地址:http://git.oschina.net/free/Mapper 优点? 不客气的说,使用这个通用Mapper甚至能改变你对Mybatis单表 ...
- ORM框架之Mybatis(六)mybatis通用mapper
一.简介通用mapper 1.1 官方介绍:(官网:https://mapperhelper.github.io/docs/) 通用Mapper都可以极大的方便开发人员.可以随意的按照自己的需要选择通 ...
- 从零搭建Spring Boot脚手架(4):手写Mybatis通用Mapper
1. 前言 今天继续搭建我们的kono Spring Boot脚手架,上一文把国内最流行的ORM框架Mybatis也集成了进去.但是很多时候我们希望有一些开箱即用的通用Mapper来简化我们的开发.我 ...
- 第02讲:MyBatis通用Mapper
一.windows系统安装MySQL8.0.11 MySQL官方下载地址:https://downloads.mysql.com/archives/community/ 1.将 zip 包解压到相应的 ...
最新文章
- 机器人“快递小哥”上岗了!京东配送机器人编队长沙亮相
- Android应用中使用AsyncHttpClient来异步网络数据
- mac添加取消开机启动
- 一次服务器CPU占用率高的定位分析
- VM虚拟机ping不通局域网其他主机的解决办法
- 【图像重建指标 Metrics】均方误差RMSE及平均绝对误差MAE的定义和区别
- 为什么要学习Python?怎么学?
- java多个条件排序_java定制化排序,多个条件排序
- IntelliJ IDEA 插件推荐
- UML 统一建模语言Unified Modeling Language (UML)
- (转)开发监控Linux 内存 Shell 脚本
- 关于rstudio的一些快捷键
- 软件系统分析与设计考试重点、复习指导及复习笔记汇总
- JVM,DVM,JIT,AOT,ART理解
- 2018美团实习生招聘——K的倍数
- [安洵杯 2019]easy misc 1
- 使用python实现往手机发短信(基于twilio)
- 高中数学一对一辅导如何用半年时间数学从60分到130分逆袭诀窍
- 软件项目报价术语总结(功能点计数元素ILF、EIF、IE、EO、EQ)
- ctab法提取dna流程图_CTAB法提取植物DNA.ppt