在 Grails 中利用闭包实现查询条件的动态构造
? ? ? 在 Javascript 中,闭包可以做出许多精彩漂亮的活儿,同样,利用 Groovy 的闭包特性,也能实现在Java中需要很曲折才达到的任务(java7吗?是的,但还得等等我们的 Oracle 到2012了)。在 Groovy 社区,提及 Groovy,必会提到如影随形的 Grails, 下面我们通过一个实例体会一下 Groovy 闭包在 Grails 中的精彩运用。
?
? ? ? 假设我们要实现如下一个功能:在一个查询功能模块中,我想动态添加一些额外的查询条件,使得查询结果进一步缩小,按需返回不同的结果集。相比较最原始的 SQL 拼接,利用 Grails GORM 的强大威力再加上 Groovy 的闭包特性,实现将变得更加优雅和 Cool!
?
一. 首先定义 两个Domain
class 1 : Company
otherParams.callback = {...}
?
。你还可以举一翻三,做出更多有创意的事情。
?
?