Oracle+ibatis的<select>中resultClass是java.util.HashMap 返回结果key都是大写的变量名 如何解决

如题:
Oracle+ibatis的中resultClass是java.util.HashMap 返回结果key都是大写的变量名 如何解决

如果用resultClass用自定义的class可以解决,那么不同的多表查询岂不是要定义多个class来装这些结果集,即便是用resultMap还是得定义相关的配置,总不会每定义一个(假设都是多表查询,而且都是不同的表),都要定义一个resultClass或者resultMap吧?
我现在的问题是:用ibatis中的返回一个结果集List>,我希望Map中的key与我sql中的字段大小写一致,但是我又不想针对每个都定义一个resultClass或者resultMap,但是我如果用HashMap作为resultClass,Map中的key都是大写。PS:数据库是ORACLE,这个数据库有关,但是项目就是用的这个,没得办法改他,谢谢

8个回答

[quote]
每次都一定bean不烦吗,保存的时候用bean我不反对,但是返回的时候返回一个对象不一定合适,而且保存大部分情况都是针对但表,查询针对多表的情况比较多,

总是多表查询的话,如果表大部分情况不是一样的话,定义bean不麻烦吗,用HashMap就没这样的事,但是map的key总是大写,不能像自定义bean一样大小写可以和sql中的column一样

[/quote]
我们都是用bean,架构师禁止用HashMap。
定义bean是麻烦一些,尤其每次多表查询的时候,不过定义了一个专门返回查询结果的bean,一般的多表查询就返回这个bean。
当然具体业务不一样,也许一个这样的bean满足不了你的需要,也可多定义几个这样的bean.

供参考~

建议直接用resultClass,返回domain对象,不要用resultMap.

我觉得楼主不用resultClass 是怕定义bean麻烦

[quote]我觉得楼主不用resultClass 是怕定义bean麻烦[/quote]
面向对象嘛,用返回对象是比较好的选择。~

应该是没办法改吧,用大写的吧,我一直都这样用

[quote]大写返回到页面就不能复制了,要TM的一个字一个字的打,而且也看的不爽 [/quote]

在以前的公司也是一直用HashMap,也是得写成大写的。
不过没LZ这么反感~ 也许是那时习惯了

呵呵!页面迭代的时候时我都是手工输入的(貌似还好,字段名而已,用多了习惯就好了),感觉不爽的话你定义返回bean的映射。

你看拿到值后能不能转成小写

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问