关于oracle数据库中字段名大小写的问题

最近把数据库切换成Oracle了,配置文件中也设置了忽略大小写,如果直接返回的是Page就没有问题;但是后来用了table控件,访问后台就需要json方式了,但是这个时候数据库表字段在前端就必须设置为大写才能访问,否是是空的,要么就在查询语句中的字段名转义为这样的格式 AS \"cus_name\ 才可以,请问下有什么更简便的方式,在ajax方式中能忽略大小写,转义的话工作量太大了。。。

评论区

JFinal

2018-10-29 20:35

用 jfinal 的生成器为 model 生成 getter setter 方法,然后配置一下使用 fastjson即可:
me.setJsonFactory(new FastJsonFactory());

因为 fastjon 默认是使用 getter 进行转换,而生成器生成的 getter 方法正好是驼峰形式的

qqfans

2018-10-29 21:53

@JFinal 问题是查询出来的不一定是一张表的数据,生成不了model啊,我用分页,返回的是Page,按照你说的设置了me.setJsonFactory(new FastJsonFactory());还是区分大小写的

qqfans

2018-10-31 09:50

@JFinal 老大,求指导,同样的程序返回renderJsp前端页面就不需要区分大小写,renderJson就不得行,我以前用的是静态表格,现在准备全部切换成table组件,就需要用到异步加载,这样所有的字段都得改成大写,工作量太大了

JFinal

2018-10-31 09:57

@qqfans 是否听取了我前面的建议,生成了 model 的 getter setter 方法,然后使用 Fastjon 来转换,这个已经可以解决问题了

生成不了 Model 的问题,通过继承 JFinalJson,覆盖掉其中的方法,用一下 StrKit.toCamelCase(...) 将大写转成驼峰就好,然后使用自己的继承类来干这事:
new MyJson().toJson(...);

JFinal

2018-10-31 09:58

仔细看明白 jfinal 有关 json 的文档,里面讲了扩展方式,原理等:
http://www.jfinal.com/doc/12-1

热门反馈

扫码入社