tianof427795737
2011-08-03 15:55 阅读 562
已采纳

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条回答 默认 最新

  • 已采纳
    iteye_4873 iteye_4873 2011-08-03 16:47

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

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

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

    供参考~

    点赞 评论 复制链接分享
  • iteye_4873 iteye_4873 2011-08-03 16:20

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

    点赞 评论 复制链接分享
  • iteye_19675 iteye_19675 2011-08-03 16:27

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

    点赞 评论 复制链接分享
  • iteye_4873 iteye_4873 2011-08-03 16:34

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

    点赞 评论 复制链接分享
  • chelei1983 chelei1983 2011-08-03 16:43

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

    点赞 评论 复制链接分享
  • iteye_4873 iteye_4873 2011-08-03 16:51

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

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

    点赞 评论 复制链接分享
  • chelei1983 chelei1983 2011-08-03 16:52

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

    点赞 评论 复制链接分享
  • iteye_19675 iteye_19675 2011-08-03 16:54

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

    点赞 评论 复制链接分享

相关推荐