Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mybatis @Select注解中当参数为空则不添加该参数的判断

mybatis @Select注解中当参数为空则不添加该参数的判断

作者头像
一个会写诗的程序员
发布于 2018-08-17 03:33:01
发布于 2018-08-17 03:33:01
2.8K00
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public interface OrderMapper extends SqlMapper{

@Select("select * from tbl_order where room like #{room} and mydate like #{mydate}")
public List<Order> getbyroom(OrderPara op);

}

这样整个语句是写死的,必须有2个参数,在这种模式下,如何能实现根据room和mydate是否为空来动态的拼写sql语句 比如当mydate=""

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Select("select * from tbl_order where room like #{room} ")
public List<Order> getbyroom(OrderPara op);

如果用xml来配置语句的话,可以用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<when test="title != null">
and mydate= #{mydate}
</when>

如果是用@Select

这种 改如何做呢?

解决方案:

用script标签包围,然后像xml语法一样书写

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Select({"<script>",
    "SELECT * FROM tbl_order",
    "WHERE 1=1",
    "<when test='title!=null'>",
    "AND mydate = #{mydate}",
    "</when>",
    "</script>"})
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.12.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
指针(一)
什么是野指针?野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)
DeROy
2020/05/11
5000
详解 常量指针和指针常量
说一下 常量指针和指针常量 的区别。 常量指针   指向常量的指针,也就是说指针指向的对象是常量,指向的常量不能修改。指针不是一个常量, 可以把指针指向别一个常量。 常量指针是我们最常用的,一般声明形式如下: const int *p; int const *p; 例: int a(1), b(3); const int *p; // 或者是 int const *p; p = &a; std::cout << "address : " << p
lpxxn
2018/01/31
1.3K0
指针(二) - (const)指针与常量
const使用 声明一个常量 关键字const用来告诉编译器一个一旦被初始化过的变量就不能被修改 int a; const int n; 一 常量指针 指针指向一个常量 修饰指针指向 #include int main() { //常量指针 const int num = 10; // num = 100; int* p1 = &num; *p1 = 100; printf("%d\n", num); // 可以通过p1修改num (c语言可以c++不可以) // 不可以通过p2,p3修
木杉乀
2021/04/02
4290
指针基础知识笔记
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133183.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/14
2830
面试题:常量指针和指针常量?
在 C++ 中,常量指针(const pointer)和指针常量(pointer to const)是指针变量的两种变形。它们各自具有不同的特点和应用场景。
GeekLiHua
2025/01/21
1210
【专业技术第二讲】c语言中const的使用
这里对const的使用做一个大致的总结。 C语言的const关键字与指针搭配使用,const是C语言中保留的一个关键字,它用来限定一个变量是只读的,即不可变的。程序中使用const可以在一定程度上提高
程序员互动联盟
2018/03/14
7980
【专业技术第二讲】c语言中const的使用
【C 语言】const 关键字用法 ( 常量指针 - const 在 * 左边 - 修饰数据类型 - 内存不变 | 指针常量 - const 在 * 右边 - 修饰变量 - 指针不变 )
const 关键字 在 C 和 C++ 中的表现不同 , 本篇博客主要介绍 C 语言中的 const 用法 ;
韩曙亮
2023/03/29
3.4K0
指针指向常量_常量指针的四种
指针常量和常量指针都离不开const关键字,我们先来了解一下什么是const关键字,const被用来定义常量,如果将一个变量加上const关键字,则被修饰的变量的值将无法改变。这个变量的值只能被访问,无法被修改。const关键字可以修饰变量或者指针。
全栈程序员站长
2022/11/01
7520
指针常量,常指针,指向常量的常指针(从我大一写的QQ空间迁移过来)
从字面意思可以看出,指针是一个常量,也就是地址不能被修改。 int* const p 特点是指针指向的数值可以改变,然而指针所保存的地址却不可以改变。
砖业洋__
2023/05/06
2700
c++中基本类型详细解释外加基本运算规则
👀👀#复合类型: 是基于其他类型定义的类型(引用和指针)。 引用:为对象起一个名字,引用类型引用另外一种类型。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。
洁洁
2023/10/10
2020
深入探究C语言中的常量指针与野指针概念及其应用
在C语言中,const关键字用于声明常量,而野指针则是一种危险的指针类型。下面将详细解释这两个概念及其应用。
Srlua
2024/03/01
2410
C++:18---const关键字(附常量指针、指针常量、常量指针常量)
一、const变量的一些基本特点 ①const修饰的变量不能被修改 const int a=10;a=20;//错误 ②因为const修饰的变量不能被修改,所以必须被初始化 int a=10;const int b=a; //正确const int c=10; //正确 ③const修饰的变量可以赋值给其他值 const int a=10;int b=a;//正确 ④可以有常量引用 int a=10;const int &b=a; 二、在其他文件中使用const常量(extern) const常量默
用户3479834
2021/02/03
1.4K0
C语言指针的初始化和赋值
指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。
全栈程序员站长
2022/08/01
2.8K0
C语言指针的初始化和赋值
指针常量和常量指针的区别_指针常量能指向常量吗
本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。用法如下:
全栈程序员站长
2022/08/02
2.6K0
C++ 指针常量与常量指针
本文介绍了C++指针常量和常量指针的概念、区别以及用法。指针常量声明为const,但常量指针声明为int const *。指针常量不能修改指向的数据,但常量指针可以。此外,常量指针必须初始化,而指针常量可以在声明时初始化。总之,两者在用法上存在一定的区别,需要根据具体情况选择合适的声明方式。"
chaibubble
2018/01/02
1.8K0
C++ 指针常量与常量指针
【C++】C 语言 和 C++ 语言中 const 关键字分析 ( const 关键字左数右指原则 | C 语言中常量的原理和缺陷 | C++ 语言中常量原理 - 符号表存储常量 )
【C 语言】const 关键字用法 ( 常量指针 - const 在 * 左边 - 修饰数据类型 - 内存不变 | 指针常量 - const 在 * 右边 - 修饰变量 - 指针不变 )
韩曙亮
2023/10/15
6570
【C++】C 语言 和 C++ 语言中 const 关键字分析 ( const 关键字左数右指原则 | C 语言中常量的原理和缺陷 | C++ 语言中常量原理 - 符号表存储常量 )
c++常量指针和指针常量_指针指向二维数组
a)常量定义:不可修改的值,例如250,’A’ b)const关键字功能:将变量常量化,四种形式
全栈程序员站长
2022/09/27
8660
c++常量指针和指针常量_指针指向二维数组
c/c++补完计划(一): 指针常量和常量指针
前言 想写点c/c++的东西. 正文 最近笔试遇到一个题, 要写出以下4种情况的输出: int main() { const char *str1 = "ddddddd"; char *const str2 = "ddddddd"; char *str3 = "ddddddd"; char str4[] = "ddddddd"; *(str1 + 2) = 'a'; *(str2 + 2) = 'a'; *(str3 + 2) = 'a'
sean_yang
2020/07/21
3310
常量指针,指针常量的区别是什么_指针常量与常量指针
定义: 又叫常指针,可以理解为常量的指针,也即这个是指针,但指向的是个常量,这个常量是指针的值(地址),而不是地址指向的值。
全栈程序员站长
2022/11/10
1.3K0
程序员C语言快速上手——进阶篇(六)
由上例可验证,数组的内存空间是连在一起的,它的第一个元素地址是0x22fe30,第二个元素的地址是0x22fe34,紧随其后。因为是int数组,每个元素都需要占用4个字节空间,因此地址的间隔也是4。
arcticfox
2019/06/26
6290
程序员C语言快速上手——进阶篇(六)
推荐阅读
相关推荐
指针(一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验