写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问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐