SQL模板,动态绑定查询列明和查询条件的疑问

#define select(table,columnNames)
	select 
	#for(columnName : columnNames)
	  #(for.index > 0? "," : "") #(columnName)   
	#end
	from #(table)
#end
#define where(condition)
	#for(x : condition)
		#(for.index == 0? "where" : "and") #(x.key) #para(x.value)
	#end	
#end
//调用
#sql("getWeiXinService")
	#@select("base_weixin_service",columnNames)	
	#@where(condition)
#end
//代码中调用
SqlPara sqlPara = Db.getSqlPara("baseWeixinService.getWeiXinService",Kv.by("columnNames",columns),Kv.by("condition", condition));

在getSqlPara中我怎么写才能即把columnNames列明的List传进去,又把Map的查询条件传进去?麻烦大家了..



评论区

tonysb

2018-03-23 14:23

#sql("getWeiXinService")
#@select("base_weixin_service","service_name,service_code,service_action_key,is_use")
#@where(condition)
#end
直接把要查询的参数写在SQL模板中是可以的,我想问下,可以让这个查询的参数动态的在java代码中添加吗?

怎懂落寞

2018-03-23 14:28

我也想知道解答

JFinal

2018-03-23 16:04

@tonysb @怎懂落寞 用set 方法继续添加参数即可,例如:
Kv.by("columnNames",columns).set("condition", condition))

热门反馈

扫码入社