用grails映射表字段
我有一个业务需求,需要根据预定义的规则集映射几对表。这些表包含相同的数据,但具有不同的模式。例如:表用grails映射表字段,grails,groovy,Grails,Groovy,我有一个业务需求,需要根据预定义的规则集映射几对表。这些表包含相同的数据,但具有不同的模式。例如:表abc中的字段name与表def中的字段fullname相同。我的业务需求需要我映射几个这样的表。我想到了使用grails的“干燥”原理 为了通过一个示例进行尝试,我在Grails中创建了两个域类Abc和Def,以及第三个类AbcDefMapping。然后在控制器模板中,我创建了一个名为convert的方法,其中我将AbcDefMapping字符串拆分为Abc、Def和Mapping字符串。现在我
abc
中的字段name
与表def
中的字段fullname
相同。我的业务需求需要我映射几个这样的表。我想到了使用grails的“干燥”原理
为了通过一个示例进行尝试,我在Grails中创建了两个域类Abc
和Def
,以及第三个类AbcDefMapping
。然后在控制器模板中,我创建了一个名为convert
的方法,其中我将AbcDefMapping
字符串拆分为Abc
、Def
和Mapping
字符串。现在我想在生成的控制器中调用方法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()
否则,您能告诉我一个更好的方法来实现我在这里想要做的事情吗?好的,我找到了解决方案${className.substring(0,3)}.list()将为我提供所需的结果。现在我可以计算大写字母的位置并使用它。我的第二个问题仍然有效,但也就是说,是否有更好的方法可以做到这一点。您应该编辑您的问题,以反映您正在寻找的内容,这样其他用户就不会感到困惑,并为您自己已经获得的内容提供答案。