mysql中ibatis的limit动态传参

  param.put("pageNo",pageNo); 
  param.put("pageSize",pageSize); 

sqlMap中的用法 
limit ${pageNo},${pageSize} 
我今天在敲代码的时候这么用结果就报错了:limit #pageNo#,#pageSize# 
后来查资料才知道 
limit 后面不应该用#(我传进来的是Integer),而应该用$, 
#与$的区别. (一般能用#的就别用$. ) 
#是把传入的数据当作字符串,如#pageNo#传入的是pageNo,则sql语句生成是这样,limit 'pageNo',会报错. 
$传入的数据直接生成在sql里,如#pageNo#传入的是pageNo,则sql语句生成是这样, 
limit pageNo值,pageSize值 
#方式能够很大程度防止sql注入. $方式无法防止sql注入. 
$方式一般用于传入数据库对象.例如传入表名. 

posted @ 2015-08-07 17:26  java高级技术汇  阅读(980)  评论(0编辑  收藏  举报