查询方法:
Kv paras = Kv.by("uid", uid).set("mtype", mtype); SqlPara sqlPara = Db.getSqlPara("getUnreadList", paras); return Db.find(sqlPara);
查询时,传入的两个参数:uid(必填)、mtype(可选)
按照正常理解写出的SQL模板:
#sql("getUnreadList") SELECT * FROM msg_recive WHERE userId = #para(uid) AND readed = 0 #if(para(mtype) != null) AND mtype = #para(mtype) #end #end
运行出错:
Shared method not found: para(java.lang.Integer)
原来在 #if(...) 里面引用参数时,不能使用 para(...) 的方式,而是直接写参数名
但在外面引用参数,还是要 #para(...),有点诡异~
按照这种逻辑,如果传参时使用的是“int型常量”方式,不知道如何在 #if(...) 里引用?
还是建议老大能够统一习惯,否则真有些不适应
项目:JFinal
如果传参时使用的是“int型常量”方式,不知道如何在 #if(...) 里引用?
--见:http://www.jfinal.com/feedback/1975