首页 > 其他分享 >MyBatisPlus使用记录

MyBatisPlus使用记录

时间:2023-08-03 12:55:14浏览次数:42  
标签:QueryWrapper MyBatisPlus 分页 记录 使用 new eq xxMapper

常用简单增删查改

增:

xxMapper.insert(xxDO)

删:

xxMapper.delete(new QueryWrapper<xx>().eq("xxx",xxx)...)

查:

注意在主键上加注解表明主键@TableId(“commodity_id”)

xxMapper.selectById("xx")

xxMapper.selectOne(new QueryWrapper<xx>())  //查询单个结果,返回JOBO

xxMapper.selectMaps(new QueryWrapper<xx>())  //查询结果每一行记录都会转成一个Map<String, Object>对象,Map的key对应列名,value对应该列的值

xxMapper.selectList(new QueryWrapper<xx>())  //查询结果以列表形式返回

xxMapper.selectCount(new QueryWrapper<xx>())  //返回查询结果集中的记录数。

改:

update仅修改提供的参数,为提升效率提供的bean尽量只提供需修改的参数

xxMapper.update(null,new UpdateWrapper<xx>().eq(...).set(...))  //参数1为空,参数二为匹配条件(eq==,gt>,ge>=,lt<,le<=,ne!=...)+修改内容(set) xxMapper.update(user,new QueryWrapper<xx>().eq(...));  //参数1非空值为修改内容,参数二为匹配条件   分页: 此处直接举例说明:
Page<ForumArticleDO> page = new Page<>(pageNum, PageSize.SIZE15.getSize());  //初始分页配置,第pageNum页,每页15条
QueryWrapper<ForumArticleDO> qw = new QueryWrapper<>();  //查询条件
if(boardId!=null&&boardId!=0)
            qw.eq("p_board_id",pBoardId);
qw.orderByDesc(orderTypeEnum.getOrderSql());
IPage<ForumArticleDO> iPage = articleMapper.selectPage(page,qw.select(
                ForumArticleDO.class,
                f->!f.getColumn().equals("content") && !f.getColumn().equals("markdown_content")));  //查询结果排除特定列

得到的IPage即为分页结果,需注意,必须先配置MyBatisPlus分页拦截器,否则IPage无法分页

/**
 * MyBatisPlus配置类
 */
@Configuration
public class MyBatisPlusConfig {
 
    /**
     * MyBatisPlus拦截器(用于分页)
     */
    @Bean
    public MybatisPlusInterceptor paginationInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        //添加MySQL的分页拦截器
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

 

标签:QueryWrapper,MyBatisPlus,分页,记录,使用,new,eq,xxMapper
From: https://www.cnblogs.com/Explosion556/p/17603032.html

相关文章

  • 使用QQ屏幕识图实现识别表格功能
    1.问题目前市场上的OCR工具对于识别表格功能均是采取了收费制度,但我们时常要进行一些表格的复制(原表格为图片)便可以使用QQ或钉钉自带的功能来实现2.解决1.QQ屏幕识图先使用屏幕识图功能识别我们要读取的表格再点击右下角的转为在线文档可以见到已经生成了相应的表格格式(......
  • 模板的简单使用
    这篇博客主要是简单的介绍函数模板和类模板的使用。函数模板假设现在需要你写多个交换函数用于各种类型的交换,如果一个一个写的话那即浪费时间,也会让代码整体不好看。那么为了解决这种情况就可以使用函数模板。例如下面:usingnamespacestd;//模板函数template<classT>//如果你......
  • 深入浅出RxJava (四:在Android中使用响应式编程)
    [url=http://blog.danlew.net/2014/10/08/grokking-rxjava-part-4/]原文链接[/url]在第1,2,3篇中,我大概介绍了RxJava是怎么使用的。下面我会介绍如何在Android中使用RxJava.RxAndroidRxAndroid是RxJava的一个针对Android平台的扩展。它包含了一些能够简化And......
  • python使用mqtt
    一、安装mqtt服务器安装对应的软件:https://www.emqx.io/zh/downloads推荐使用docker安装默认账号和密码:admin、public 二、编写代码消息发布程序importtimeimportjsonimportpsutilimportrandomfrompaho.mqttimportclientasmqtt_clientbroker='127.0.0.1......
  • 记录使用uview的tabs组件初始化渲染下划线移位问题解决
    问题描述:初始化渲染后tabs的下划线没有居中对其,出现异位。问题分析: 网上很多大佬分析过出现原因了记录下解决的过程: 在各个论坛搜集到解决方案都暂时无效 有使用v-if重新渲染的  有给类赋值偏移值的 有强行转换px的因为各种原因这些方法在自己身上没有奏效所以记......
  • Jemeter安装与简单使用
    安装Jemeter1.下载官网地址下载完成之后进行解压安装2.下载MySQL数据库驱动然后将数据库驱动放在jemeter安装目录的bin目录下面。3.启动点击bin目录下的jmeter.bat设置语言为中文使用Jemeter对MySQL进行压力测试1.添加线程组选择线程组配置线程组信息......
  • RPA开发复杂流程-为什么使用编码自动化而不是低代码?
    答:编码自动化可以让任何熟悉编码或脚本的人都能体验到更高的生产力、更好的复杂性管理、更高的协作和可审查性、改进的可读性和更高的性能。 ......
  • Linux环境下,使用远程连接工具过程中终端无法弹出图形窗口
    Linux操作系统,请通过管理网口/VNC等远程连接工具登录服务器,使用终端执行操作。如果在使用过程中无法弹出图形窗口,请执行以下操作。场景一:使用SSH连接工具登录LINUX服务器确保工具支持远程图形显示。SSH连接工具需要支持远程图形显示,才能弹出图形窗口。putty、SecureCRT默认......
  • kratos项目中使用kafka实现延迟队列
    项目地址https://gitee.com/huoyingwhw/kratos_kafkaB站视频地址B站视频地址——kratos项目中使用kafka实现延迟队列......
  • LinphoneSDK v 5.2.94 使用方法
    前提vs2022 wpfLinphoneSDK的获取途径有两种1 下载 linphonesdk.5.2.94.nupkghttps://gitlab.linphone.org/BC/public/linphone-sdk/-/packages/然后引用 这里是没有dll的,只是引用了LinphoneWrapper.cs2 下载zip包https://download.linphone.org/releases/windows/sd......