mybatis和mybatisplus的区别

news2024/9/29 6:38:33

MyBatis-Plus是对MyBatis框架的封装,MyBatis-Plus具有许多针对CRUD进行的简化方法,通过继承BaseMapper进行实现,简单的说 ,如果你使用了MyBatis-Plus,那么项目单表查询都不需要你写sql了,利用自带的方法即可,多表查询也可以简化开发,分页也不需要写额外代码。

mybatis和MyBatis-Plus开发对比:
1、MyBatis-Plus可以说是包含了mybatis,使用mybatisplus可以继续用mybatis的写法,以下3张图是mybatisplus的,它的接口以及实现类在mybatis的基础上分别多了IService和ServiceImpl,泛型就是要返回的实体类,Dao就是mapper类,mapper类又继承了BaseMapper,如果还是想写mybatis的写法,就把IService,ServiceImpl,BaseMapper这些新加的都去除即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、分页的对比,下面这张图是mybatis的,分页的时候还需要额外在查询之前加上Page page = PageHelper.startPage(goPage, pageSize, true);
在这里插入图片描述
mybatisplus就不需要了,调用mybatisplus自带的方法,传递new Page<>(page, size)即可自动分页,有IPage的都是可以分页的方法,并且可以指定查询字段调用select方法即可,不调用就会查出所有的字段,多表的时候也可以使用,如下:

(1)这种是重写了源码进行分页查询
在这里插入图片描述
mybatisplus自带方法pageMaps的源码:
在这里插入图片描述在这里插入图片描述
到mapper类中在重写该源码方法,将泛型T替换成我们需要返回的实体类即可
在这里插入图片描述
xml中sql的编写,因为我们使用了mybatisplus的querywapper,所以sql可以进行简写, e w . s q l S e l e c t 就是字段, {ew.sqlSelect}就是字段, ew.sqlSelect就是字段,{ew.customSqlSegment}所有的条件。
在这里插入图片描述

(2)自定义自己的方法分页查询
调用mapper层自己定义的方法,这种写法没有使用querywapper,分页mybatisplus,条件mybatis
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/737434.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NC68 跳台阶

public class Solution {public int jumpFloor(int target) {if(target < 1)return 1;elsereturn jumpFloor(target - 1) jumpFloor(target - 2); } }

日志全链路追踪之MDC

1.引言 Hi&#xff0c;大家好&#xff0c;我是有清 苏格拉底说过&#xff1a;日志打得好&#xff0c;排查没烦恼 我们日常的开发工作中&#xff0c;排查问题去看日志应该是家常便饭的事&#xff0c;日志可以帮助我们清楚的知道当前代码的走向以及链路数据&#xff0c;通常我们现…

JavaScript 使用链接跳转传递数组对象数据类型的方法

文章目录 首先了解一下正常传递基本数据类型JavaScript 跳转页面方法JavaScript 路由传递参数JavaScript 路由接收参数传递对象效果&#xff1a; 在前端有的时候会需要用链接进行传递参数&#xff0c;基本数据类型的传递还是比较简单的&#xff0c;但是如果要传递引用数据类型就…

Python实现PSO粒子群优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 PSO是粒子群优化算法&#xff08;Particle Swarm Optimization&#xff09;的英文缩写&#xff0c;是一…

WH5097D有源矩阵驱动的Mini LED背光应用方案

Miniled技术为lcd的全面升级版&#xff0c;Miniled的背光层在单位面积内可以容纳更多LED&#xff0c;从而大大提高背光源数量&#xff0c;因此可以进行区域亮度调节的设计&#xff0c;从而在个别区域实现关闭led从而达到完全的黑色&#xff0c;不仅减小了功耗&#xff0c;而且由…

【KingbaseES】如何查看表结构

SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_name test_szie;

梅雨季“霉”烦恼,防潮自救指南请收好

魔都的雨下个不停&#xff0c;天气也异常闷热&#xff0c;原来是上海已经入梅了。“雨连连、湿哒哒、闷兮兮”的梅雨季&#xff0c;湿漉漉的空气&#xff0c;感觉身体也跟着“发霉”。不想做梅雨季最“潮”人&#xff0c;赶紧码住这份抗“霉”攻略。 梅雨季最大的特点是空气湿度…

数据库DDL

目录 DDL数据库的操作 SQL表操作&#xff1a; 数据库的数据类型&#xff1a; 数值类型​编辑 字符串类型 日期时间类型 DDL表操作 - 修改​编辑 总结&#xff1a; DDL数据库的操作 演示&#xff1a; SQL表操作&#xff1a; 数据库的数据类型&#xff1a; 数值类型 字符串…

Person相关系数

衡量两个变量线性相关程度。先画散点图看是否为线性相关&#xff0c;相关系数才有用。 总体&#xff1a;要考察对象的全部个体 样本&#xff1a;从总体中所抽取的一部分个体 用样本的统计量估计总体的统计量 总体Person相关系数 协方差Cov(X,Y)反映X、Y的相关性 Person相关系…

zabbix 应用(二)

目录 一&#xff1a;部署 zabbix 代理服务器 1、准备环境 2、 设置 zabbix 的下载源&#xff0c;安装 zabbix-proxy 3、 部署数据库&#xff0c;要求 MySQL 5.7 或 Mariadb 10.5 及以上版本 4、 初始化数据库 5、创建数据库 指定字符集&#xff0c;创建 zabbix 数据库用户…

从零开始的知识图谱生活,构建一个百科知识图谱,完成基于Deepdive的知识抽取、基于ES的简单语义搜索、基于 REfO 的简单KBQA

项目设计集合&#xff08;人工智能方向&#xff09;&#xff1a;助力新人快速实战掌握技能、自主完成项目设计升级&#xff0c;提升自身的硬实力&#xff08;不仅限NLP、知识图谱、计算机视觉等领域&#xff09;&#xff1a;汇总有意义的项目设计集合&#xff0c;助力新人快速实…

华为云“All in ”大模型:释放人工智能巨能!看低代码开发平台引领未来

前言 截至目前&#xff0c;全球已发布数百个大模型&#xff0c;我国年内已发布80多个大模型&#xff0c;面向消费者端的应用百花齐放。我们认为&#xff0c;大模型在行业里多作贡献&#xff0c;才是正确的道路。 当下发展现状 今年以来&#xff0c;人工智能的发展因ChatGPT进入…

MAC |如何在mac上阅读caj文件?

背景&#xff1a;工作群中老板突然发了一个caj的论文过来&#xff0c;让大家阅读学习。 于是就开启了解决&#xff1a;在mac上阅读caj文件之旅。 首先&#xff0c;尝试了这篇文章的方法&#xff1a; 教你如何在Mac上打开CAJ格式的文件_普通网友的博客-CSDN博客 以失败告终。…

【sql注入-报错注入1】extractvalue()函数 报错注入

目录 extractvalue()报错注入 一、语法介绍&#xff1a; 二、报错原因 网络安全小圈子 &#xff08;***注&#xff1a;注意看版本要求&#xff09; extractvalue()报错注入 一、语法介绍&#xff1a; 版本&#xff1a; MySQL<5.0.x 语法&#xff1a; EXTRACTVALUE(…

地址解析协议 (ARP)

地址解析协议&#xff08;ARP&#xff09;是互联网协议&#xff08;IP&#xff09;套件的关键第 2 层协议&#xff0c;可将 IP 地址转换为媒体访问控制&#xff08;MAC&#xff09;地址&#xff08;IP – MAC&#xff09;&#xff0c;ARP 在实现网络连接方面发挥着不可或缺的作…

赛效:如何一键生成印章

1&#xff1a;在电脑上打开标小智印章生成器&#xff0c;点击输入框&#xff0c;在输入框里输入印章内容。 2&#xff1a;文本内容输入后&#xff0c;点击右侧的“生成按钮”。 3&#xff1a;在生成的印章模板里&#xff0c;挑一个满意的&#xff0c;鼠标放上去就可以看到下载按…

安装Nodejs、NPM、Vue脚手架详细教程

一、安装Nodejs 查看自己电脑是否安装nodejs node --version我这里已经下载过了&#xff0c;没有下载过的会提示该命令不存在 可以到官网下载一下 https://nodejs.org/en/download/ 不要安装在中文路径下 二、安装NPM 如果你安装了nodejs–默认会安装NPM. npm --version…

国内好用的CRM框架推荐和介绍

一、如何选择CRM管理系统的方法 选择适合自己的CRM管理系统是企业客户关系管理的重要决策之一&#xff0c;需要根据自身的需求和实际情况进行选择。下面介绍几个选择比较好的CRM管理系统的方法&#xff1a; 1. 确定功能需求&#xff1a;企业需要根据自身的业务特点和管理需求…

OpenHarmony之小熊派Bearpi-hm_micro_small刷机问题避坑

目录 1.概述2.注意事项3.发现问题4.解决问题 1.概述 最近大家都知道&#xff0c;华为出了一个中国的手机操作系统HarmonyOS,本人很是激动&#xff0c;因为中国终于有了自己的手机操作系统&#xff0c;而且我去了解了下&#xff0c;发现完全不同于Android和IOS操作系统&#xf…

集合面试题--LinkedList数组

目录 单向链表 介绍 时间复杂度分析 双向链表 时间复杂度分析 总结 ArrayList和LinkedList的区别是什么&#xff1f; 单向链表 介绍 时间复杂度分析 双向链表 时间复杂度分析 总结 ArrayList和LinkedList的区别是什么&#xff1f;