我sql模板代码
#sql("getStockLogList") select * from `catchmall`.`stock_log` o where 1 = 1 #if(kssj??) and o.create_date >= #para(kssj) #end #if(jssj??) and o.create_date <= #para(jssj) #end #if(sort??) order by #para(sort) #para(order) #end #end
一个简单的拼接where,后台传过来参数如果有条件则拼接,没有就做拼接
protected Page<M> getModelPages(String sqltpl, Integer page, Integer rows, Kv params) { SqlPara sqlPara = Db.getSqlPara(sqltpl, params); Page<M> pr = baseDao.getDao().paginate(page, rows, sqlPara); return pr; }
params的可选条件参数,比如上面的开始时间,结束时间和排序字段以及排序倒叙顺序,可选0~多个条件
当我对时间做排序的时候传过来的参数是这样的
最后后台报错
说参数越界,不知道哪里出的问题
#if(sort??)
order by #(sort) #(order)
#end