一般情况下,我是用字符串拼接的,因为可以很方便的去判断变量是否为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中
底层sql你就让他留在底层别动它吧,这个其实很简单呀 你在传入之前做一个判断限制一下不就行了吗 deptno不为空才执行这个方法
不就是mabatis的动态sql吗?加一个判断的条件,就可以了啊
加上判断条件动态拼接sql不就好了,没太懂你的想法
public List> getEmpNo(Object deptno)
{
String sql="select empno, ename, deptno from emp where (deptno=? or ? is null)";
return dao.query(sql, deptno, deptno);
}