jfinal3.1中,关于SQL管理中,列名是否可以传入一个List来指定需要查询的列名
SQL动态加载中,where之后的条件我会使用了,而且设计的非常方便,
如果我要在查询list集合的时候,在select后面去指定列名的话,该怎么操作?我在sql的模板中是这样定义的,具体如图,红框中就去循环了需要查询的列名,这样在java代码中,我如何去传入这个columns这个List集合?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你好,我在Java端,传入的一个List中表示的是需要查询的列名,但是你说在Java端通过setAttr("columns","")这个我还是不明白, 这个方法不是想页面传递参数吗?我的意思是用这个SQL模板的话,我是否可以指定查询的列名,如不是一味的去select *,现在模板中的代码这样写我也明白,就不太明白在Java端该怎么调用
这个 columns 可以在模板中传入,也可以在 java 代码中传入,前者这样:#@getRecord("user", ["id", "userName"], ...), 后者在前面的回复中告诉过你,不再重复
getRecords 是一个模板函数,所以你需要在调用这个函数的地方传入即可:
#@getRecord(table, columns, condition);
在 java 端可以通过 setAttr("columns", ....) 传过去
此外你的 for 代码可以精简:
select
#for(x : columns)
#if(for.index > 0) , #end #(x.filed)
#end