Mybatis-plus史上最全wapper条件构造器介绍

本文详细介绍了Mybatis-plus的Wrapper条件构造器,包括AbstractWrapper、QueryWrapper、UpdateWrapper等子类的使用方法,如ge、gt、eq、between、like、in等条件操作,以及嵌套条件、排序、指定查询列等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Wrapper : 条件构造抽象类,最顶端父类

下面是Wrapper 子类:

AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
QueryWrapper : Entity 对象封装操作类,不是用lambda语法(最常用)
UpdateWrapper : Update 条件封装,用于Entity对象更新操作
AbstractLambdaWrapper : Lambda 语法使用 Wrapper解析 lambda 获取 column
LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
LambdaUpdateWrapper : Lambda 更新封装Wrapper

注意:以下条件构造器的方法入参中的 column 均表示数据库字段

1、ge(>=)、gt(>)、le(<=)、lt(<)、isNull、isNotNull

@Test
public void testDelete(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper
    .isNull("name")
    .ge("age", 12)
    .isNotNull("email");
int result = userMapper.delete(queryWrapper);

System.out.println("delete return count = " + result);
}

SQL:UPDATE user SET deleted=1 WHERE deleted=0 AND name IS NULL AND age >= ? AND email IS NOT NULL

2、eq(=)、ne(!=)
注意:seletOne返回的是一条实体记录,当出现多条时会报错

@Test
public void testSlectOne(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();

queryWrapper.eq("name", "Tom");

User user = userMapper.selectOne(queryWrapper);

System.out.println(user);
}

SELECT id,name,age,emai

### 使用C++绘制或打印超级玛丽游戏角色或场景图形 在C++中实现图像显示通常依赖于第三方库,比如SFML(Simple and Fast Multimedia Library)、SDL(Simple DirectMedia Layer)等。这里以SFML为例来展示如何加载并渲染超级玛丽角色的图片。 #### 安装SFML库 为了能够顺利编译运行下面的例子程序,在本地环境中安装好SFML是非常必要的。可以访问官方网站下载对应平台版本,并按照说明完成配置工作[^1]。 #### 加载与绘制图像 一旦环境搭建完毕,则可通过如下方式读取外部文件作为纹理资源应用到屏幕上: ```cpp #include <SFML/Graphics.hpp> int main() { sf::RenderWindow window(sf::VideoMode(800, 600), "Super Mario Character Display"); if (!window.isOpen()) { return -1; } // Load a sprite to display sf::Texture texture; if (!texture.loadFromFile("mario_head.png")) { // 假设当前目录下存在名为 mario_head 的PNG格式文件 return -1; } sf::Sprite sprite(texture); sprite.setPosition(400.f, 500.f); // 设置精灵位置 while (window.isOpen()) { sf::Event event{}; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) window.close(); } window.clear(); // 清除之前帧的内容 window.draw(sprite); // 绘制精灵对象至窗口上 window.display(); // 更新屏幕上的内容 } return 0; } ``` 这段代码创建了一个大小为800x600像素的应用窗口,并尝试从中加载指定路径下的`mario_head.png`文件作为纹理贴图给定位于坐标`(400, 500)`处的角色形象。通过循环监听关闭事件保持应用程序持续响应直到用户主动结束进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值