主题:beetl中SQL连接字符串的问题

grofis 2019年09月17日 37

beetl SQL中有很多的语法 比如通过##传入字符串等

现在的需求是在order by后面也能跟参数,比如order by id desc这种,id这个字段可以写死,但没有没有方法能够在需要的时候SQL中接受desc参数?我传入后自动给转换成‘desc’这种了。

另我看了下beetl的文档,我只想说....还可以。要是能有各种SQL的示例集成就好了!

闲大赋 2019年09月17日

不太理解,如果你需要传入,可以在java里构造好,比如

String orderBy = "order by id desc";

然后sql里

select ..... from ......${orderBy}

这里${} 输出文本,如果是较早版本,可以使用#{text(orderBy)}

如果想做的优雅,可以自定义提供一个desc函数,这样是不是更好点,比如

select ..... from ......#desc("id")#

desc是一个自定义函数,会输出文本 oder by id,这样是否是你想要的?如果你不知道如何自定义函数,可以参考beetlsql的Beetl.java,或者他已经提供的自定义函数