我有一个业务需求,我需要根据预定义的规则集映射几对表。这些表包含相同的数据,但具有不同的模式。例如:表中的字段与name
表abc
中的字段相同。我的业务需求需要我映射几个这样的表。我想到了使用 grails 'DRY' 原则。fullname
def
为了尝试一个示例,我在 Grails 中创建了两个域类Abc
和Def
一个名为AbcDefMapping
. 然后在 Controller 模板中,我创建了一个名为convert
where I split AbcDefMapping
string into Abc
,Def
和Mapping
strings 的方法。现在我想Abc.list()
在我生成的控制器中调用方法。我怎么做?(编辑:我解决了这个问题,请看我的另一个问题,即是否有更好的方法来做到这一点)
这是我的代码:
def convert(){
def cn = "${className}"
def lis = []
def str = ""
for (i in cn){
if (i == i.toUpperCase() && str!=""){
lis.add(str)
str = i
}
else{
str = str +i
}
}
lis.add(str)
def inputs = \${lis[0]}.list() // lis[0] = "Abc"
}
我希望输入Abc.list()
与生成的代码一样。
否则,你能告诉我一个更好的方法来实现我想要在这里做的事情吗?