Mybatis连接DB2数据为时
......
WHERE ROW_NUM_HAHA > #{start,jdbcType=NUMERIC} FETCH FIRST #{pageSize,jbdcType=NUMERIC} ROWS ONLY
......
如果像上面这样写是不行的。查过资料后,才发现FETCH FIRST后面的值是不能参数化的,只能写死。而Mybatis中的#{}其实是占位符,也就是参数化了,所以报错。
解决办法:
......
FETCH FIRST ${pageSize} ROWS ONLY
......
因为${}不是占位符模式,类似于字符拼接,所以在执行sql时,这段sql已接拼好了,不是动态参数了。
博客主要讲述Mybatis连接DB2数据时遇到的问题,即FETCH FIRST后面的值不能参数化,而Mybatis中的#{}是占位符会导致报错。解决办法是使用${},因其不是占位符模式,类似字符拼接,执行sql时已拼接好,不是动态参数。
1万+

被折叠的 条评论
为什么被折叠?



