今天在使用velocity模板生成sql时,遇到了大小写转换问题,由于数据库是是oracle,为了统一标准,插入字段全是大写,但是插入的值是根据列名得出的,但是列名是大写,插入的数据希望是小写,就出现了大小写转换问题,其实velocity的大小写转换很简单,因为velocity可以直接调用java方法,可以看做传递进来的是一个java对象,那么字符串就可以调用字符串的方法。
代码:
在模板中往velocityContext中put的键值为: (“businessName”, “DIVISION”)
即:
velocityContext.put(“businessName”, “DIVISION”);
在velocity.vm模板中获取这个java对象,可以直接调用java方法,如下:
#set($businessNameLowwer = $businessName.toLowerCase())
上述例子使用一个新的变量接收了businessNameLowwer传递内容的小写值,当然你也可以直接用$businessName.toLowerCase()替换。
之前看到说一个提问生成java实体类,想把get/set方法后的第一个字母大写,可以这样处理:
#set($AttrName=$column.substring(0,1).toUpperCase() + ${column.substring(1)})
在你生成的模板中直接使用$AttrName代替get/set后面的内容即可。
版权声明:本文为weixin_44658712原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。