写sql的时候,判断是否为null,如果不为null,则传参

一般情况下,我是用字符串拼接的,因为可以很方便的去判断变量是否为null
如果不为null,我就开始拼接sql

但是这种操作貌似会有安全问题

于是乎我就把sql换成了下面这样

    public List<Map<String,Object>> getEmpNo(Object deptno)
    {
        String sql="select empno, ename, deptno from emp where deptno=?";
        return dao.query(sql, deptno);
    } 

然后我就不知道该怎么写了

我就是想判断下deptno是否为null,如果不为null,则把数据传入sql中

4个回答

底层sql你就让他留在底层别动它吧,这个其实很简单呀 你在传入之前做一个判断限制一下不就行了吗 deptno不为空才执行这个方法

public List> getEmpNo(Object deptno)
{
String sql="select empno, ename, deptno from emp where (deptno=? or ? is null)";
return dao.query(sql, deptno, deptno);
}

不就是mabatis的动态sql吗?加一个判断的条件,就可以了啊

加上判断条件动态拼接sql不就好了,没太懂你的想法

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SQL判断是否为null如果为null则返回0
mysqlselect ifnull(字段名,0) from 表名;oracleselect nvl(字段名,0) from 表名;sqlserverselect isnull(字段名,0) from 表名;
Jsp传参为null
jsp传参出现空值或空指针: 1.空值情况:1>调用session.getId()查看两个jsp页面的session是否是同一个;2>若两个session不是同一个,可能是浏览器禁用了cookie(最好不要用eclipse或myEclipse自带的浏览器);若是同一个,就是session存入信息时出错。 2.空指针:一般是上述空值情况又调用了toString()方法导致。
如何判断是否为Null
我试了 if XXX <> null thenrn结果不行。看了说明文档(如下),看来真的不能这样用。但是真的不知如何用。。。rnrn说明rnrn下列表格中有一系列比较运算符以及判定 result 是 True、False 还是 Null 的条件:rnrn运算符 True if False if Null if rn<(小于) expression1 < expression2 expression1 >= expression2 expression1 or expression2 = Null rn<=(小于或等于) expression1 <= expression2 expression1 > expression2 expression1 or expression2 = Null rn>(大于) expression1 > expression2 expression1 <= expression2 expression1 or expression2 = Null rn>=(大于或等于) expression1 >= expression2 expression1 < expression2 expression1 or expression2 = Null rn=(等于) expression1 = expression2 expression1 <> expression2 expression1 or expression2 = Null rn<>(不等于) expression1 <> expression2 expression1 = expression2 expression1 or expression2 = Null rn
freemake判断是否为null
${(comm.pic_url1)!''}  表示如果是null 就显示为 ‘’(空)${(comm.pic_url1)!'javascript:void(0);'} 表示如果是null 就显示为 javascript:void(0);(javascript:void(0);)
对象判断是否为null
先不说别的,上代码/** * @param func 命令字 * @param str1 第一行现实的额字符串 * @param str2 第二行显示的字符串 */ private void vfdContentDisplay(byte func,String str1,String str2){ if (str1.equals(null)) { //TODO }else{
判断string是否为null
////判断是否为null +(NSString *)getUseFullStr:(id)str{     if ([str class] != [NSNull class] && str != nil) {         return str;     }     return @""; }
Swift 判断是否为NULL
跟后台交互的时候,经常返回&amp;lt;null&amp;gt;这种直接用 **  is NSNull  判断就可以了
判断字符串不为空(null)
在Java中判断字符串str不为空(null)应怎样写?
SQL Server如何判断不为Null值?
判断是Null值是"IS null"rn比如:SELECT COUNT(*) FROM 客户表 WHERE 电子邮件 IS NULLrnrn判断不是null呢?怎么写?
Mysql ,判断不为null和空串
select * from test where 1 = 1 &lt;![CDATA[ and (name is null or LENGTH(trim(name)) &lt; 1 ) ]]&gt;
if(str2!=null)判断str2为不为空,应该怎么写??
if(str2!=null)判断str2为不为空好象不可以这么写,怎么写对呢,str2为date类型。。
SQL 中判断列中的值是否为null,为null时候用0来代替
select * from SysDataType as A left join rn(select EMV_ID,EMV_SDT_ID,[color=#FF0000]Isnull[/color](EMV_PriceName,0)as EMV_PriceName ,[color=#800000]Isnull[/color](EMV_PriceStandard,0)as EMV_PriceStandard,EMV_FLAG,EMV_CreateTime,EMV_EditTime,EMV_COM_ID from ElecMeterValuation where EMV_COM_ID = 6)rnas B on A.SDT_ID=B.EMV_SDT_IDrn
oracle触发器,判断不为NULL并且不为''怎么写呢
请教oracle触发器rnif (:new_value.CITYCIRCLEIN is not null ) and (:new_value.CITYCIRCLEIN <>'') thenrn我这段代码有错误呢,应该怎么写呢
如果判断null?
请问发判断出一个string或int为null,rn谢谢!
link中如果要先判断对象是否为null?再判断属性是否为null?请问这怎么写?
link中如果要先判断对象是否为null?再判断属性是否为null?请问这怎么写?
如何判断为Null
if Me.ID <> null thenrn...rnend ifrnrnrnrn我这么写的,但好像不对。不知道正确写法如何。。。急。。。。rn我用了 Me.ID.value <> null, 也不行。rnrn我看了文档,我这样用 “<> ” 结果为 不为true,也不为false,而为 Nullrn因为 <>所比较的两个表达式当中一个为null,其结果就为 Null.
判断Java对象的属性是否为null
if(requestVo.getName == null || requestVo.getName.equals(&quot;&quot;))
tp5 数据库 字段 判断是否为null
'dwRuleGroupID'=&amp;gt;['exp','is null'],
MySql判断是否为null或空字符串
是null 或者 去除空格后长度小于 1 ISNULL(aBegBalRule) || LENGTH(trim(aBegBalRule))&lt;1
<c:if> 判断变量是否为null
record   ${bac } 如果abc这个变量不为空 ,就像是${bac } 以前对el表达式不熟悉,做个小小的record
判断变量是否为NULL,如何写好?
判断变量是否为NULL,rnif(NULL==flag)rn和rnif(flag==NULL)rn这两种写法对不对?该如何写比较好?
如何判断一个值是否为null
如何判断一个值是否为null
怎么判断动态数组是否为Null
Public Type dataTyrn rn ID As Integerrnrn X As Singlern Y As Singlern Z As Singlern rn Pter As Stringrn CMD As Stringrn rnEnd TypernrnrnPublic dataArr() As dataTyrnrnIf dataArr(0).ID = Null Thenrn MsgBox ("错误")rnEnd Ifrnrnrn这样会报下标越界的 请问应该怎么修改呢 rn还有一个问题是 我写成 dataArr(0) = Null 为什么会报类型不匹配呢??rn谢谢rnrn
如何判断一个值是否为null?
比如ht是一个Hashtable,想知道ht["obj1"]元素是否存在,该怎么办?谢谢
mvc判断session是否为null报错
if (Session["login_user"] != null)rnrn这句报错 未将对象引用设置到对象的实例。rnrn这这 求高人解决下rnrn
如何判断数据集是否为null?
在sql server中,可以使用rn if exists(select * from table_name)rn do something rn在oracle中,我使用rn if exists(select * from table_name) thenrn do somethingrn end if;rn提示exists只能用在sql语句中。oracle中有没有一个函数来判断一个集合是否为空?当然可以使用rndeclarern iCount number;rnbeginrn select count(*) into iCount from table_name;rn if iCount>0 thenrn do somethingrn end if;rnend;rn来完成任务,如何要用if exists(select * from table_name) thenrn do somethingrn end if;rn方式,如何实现?谢谢。rn
判断字符串是否为null或空串
if(str == null || str.length() == 0)      &quot;&quot;,分配了内存,但值为空,length=0;java中不存在像C/C++中那样字符串后面有&quot;/0&quot;       &quot; &quot;,分配了内存,值为空格,length=1,对应一个ASCII码       null,没有分配内存,无法引用.length(),仅将str引用置为null,表示无引用~ (粘自:java字符串处理...
malloc后是否判断返回值为null?
在malloc后判断返回值是否是null的,纯属“用心不是地方”,假如是null,你怎么做? 写出高质量的软件(特别是工业软件),不判断malloc返回值是不负责任的。,==在任何时候,你能检测到问题,但却置于不顾都是不负责任的。==你必须在任何时候尽量保证你的软件控制的设备处于一种安全的状态,第一次malloc失败还远远没到完全没有办法的时候。举个例子,你的软件在控制一架电梯(只是举例,实际上,在
fastreport 判断字段值是否为null
isnull  有的版本没这个函数 可以换种方法,判断字段长度 [IIF(length() = 0,,)]
Android String 怎么判断是否为null
我的代码:rn["id":null]rn[code=java]rn String temp=json_data.getString("id");rn rn if((temp==null)||(temp.equals("")||(temp.trim().length()==0)))rn rn id=0;rn rn elsern rn id= json_data.getInt("id");rn rn[/code]rnrn怎么不能赋值id=0,一直跳到 id= json_data.getInt("id"); rn然后报错,报类型转换错误,请问怎么解决?
判断String是否为空,或者Null
判断str是否为空 if(str.length()==0) 或 if(str.equals("") 判断str是否为null if(str==null) 检验一个字符串既不是空串也不是null if(str!=null&amp;&amp;str.length()!=0) 注意:只有对象可以为null,基本类型(如char)是不可以为null的 ...
JAVA判断对象是否为null
1.String : StringUtils.isEmpty(xxx) 2.Class: Objective.isNull(xxx) 3.Collection: CollectionUtils.isEmpty(xxx) 不要写null==xxx
判断字符串是否为null或者空串
1.调用的是StringUtils.isEmpty()方法 import org.apache.commons.lang3.StringUtils; if(StringUtils.isEmpty(flag)){ ... } 2.点进这个方法 public static boolean isEmpty(final CharSequence cs){ return cs...
java判断空字符串和对象是否为null
判断空字符串: StringUtils.isEmpty(str); 判断对象为null: Objects.isNull(object); 判断对象不为null: Objects.nonNull(object);
判断函数指针是否为NULL的意义
如题,请问这样做的意思是什么,在什么情况下函数指针会为NULL呢。rnrn我自己随变写了下面代码,在ubuntu上执行,输出为"Hello!=NULL"rnrn#includern#includerntypedef void (*MyFun)(int dwNo,char *pszName);rnvoid TestFun(int dwNo,char *pszName)rnrn printf("Hello=NULL!\n");rnrnvoid MyTest(MyFun helloTest)rnrn if(NULL != helloTest)rn rn printf("helloFun != NULL");rn return;rn rn helloTest;rnrnrnint main(int args ,const char * argc[])rnrn MyTest(TestFun);rn return 0;rnrn
如何判断SqlDataReader1.GetString(1)是否为Null
VB2005rn使用SqlDataReader1.GetString(1)读取SQL数据库的数据时,当数据库里为Null时,便出错,请问如何判断SqlDataReader1.GetString(1)读取的数据是否为Null???
判断字符串是否为null,使用 == 号
java基础薄弱,在项目中  String str;    判断str 是否为空  我写的是if(str.equals(null)){....};  显然这是错的 。蒙圈了,应使用 str == null 判断str是否为空。
MySQL数据库判断字段是否为NULL的误区
在写sql语句时,很多时候会要求查询某个字段为/不为NULL的元组,大家的第一反应是这样:select*from tablename where user=NULL;其实在sql中,这样写是不正确的,这是很多人在最初写sql都会犯的一个错误,正确的写法如下:select*from tablename where isNULL(user);相反的,要获取某个字段不为NULL的元组应如下:select*
存储过程 判断参数是否为null
存储过程 判断参数是否为null,根据判断结果,执行不同的数据库操作,未按照设计执行,原因在哪里rnCREATE PROCEDURE cuijiantongzhidan_addrn@sybm nvarchar (255),rn@sydd nvarchar (255),rn@syr nvarchar (255),rn@jdyf nvarchar (255) ,rn@cjdrq datetimernASrnif (@sybm is null and @sydd is null and @syr is null)rnbeginrnUpdate jdjzjh set cjtzd="1", cjdrq=@cjdrq where (sybm is null) and (sydd is null) and (syr is null) and (jdyf=@jdyf)rnEndrnif (@sybm is not null and @sydd is null and @syr is null)rnbeginrnUpdate jdjzjh set cjtzd="1", cjdrq=@cjdrq where (sybm=@sybm) and (sydd is null) and (syr is null) and (jdyf=@jdyf)rnendrnif (@sybm is not null and @sydd is not null and @syr is null)rnbeginrnUpdate jdjzjh set cjtzd="1", cjdrq=@cjdrq where (sybm=@sybm) and (sydd=@sydd) and (syr is null) and (jdyf=@jdyf)rnendrnif (@sybm is not null and @sydd is not null and @syr is not null)rnbeginrnUpdate jdjzjh set cjtzd="1", cjdrq=@cjdrq where (sybm=@sybm) and (sydd=@sydd) and (syr=@syr) and (jdyf=@jdyf)rnendrnGOrn
java判断字符串是否为空(null)
if(s == null || s.length() 这是最好用的! 如果 String 类型为null,   equals(String) 或 length() 等操作会抛出java.lang.NullPointerException.   并且s==null 的顺序必须出现在前面,不然同样会抛出java.lang.NullPointerException
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件