Spring+Ibatis框架中关于HashMap对象集合LIST的问题

newyu1127 2006-12-28 10:20:00
各位师兄:
大家好,我第一次做J2EE,框架是Spring+Ibatis。我看了Ibatis中关于返回类型的教材。原来Ibatis支持两种类型的返回LIST,一种是与JavaBean绑定关系的LIST,这种调用会通过对应的XML配置文件读取到绑定的JavaBean,然后通过JavaBean中的一系列setProperty方法后取得最终的LIST;一种是可以自定义的HashMap对象的LIST,这种调用没有JavaBean与其对应,只需要在XML配置文件添加如下:
<resultMap id="getTestResult" class="java.util.HashMap">
<result property="编号" column="PRD_ID" />
<result property="姓名" column="PRD_NAME"/>
</resultMap>
<statement id="getProTest" resultClass="java.util.HashMap">
select PRD_ID,PRD_NAME from test
</statement>
即可.其中property就是对HashMap指定KEY,column就对为其指定value.
我需要后一种调用即自定义的HashMap对象的LIST,可是头疼的是我又需要JavaBean中
的setProperty方法对取得的原始值进行一些处理(转化或计算等),也就是说
如<result property="编号" column="PRD_ID" />,这样指定的value只能是原始的
PRD_ID值,而我实际中是需要对原始的PRD_ID值进行一些处理的(如判断转化等操作)
嗨,为什么就没有将两者的优点集合成一起的方法呢?既能调用JavaBean进行setProperty处理,而返回的LIST又能是HashMap类型的集合.
请指教,谢谢.
...全文
825 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
newyu1127 2007-01-08
  • 打赏
  • 举报
回复
benewu(旭彬) ( ) 信誉:100 Blog 2007-1-6 16:52:48 得分: 0
不明白lz为什么一定要返回Map类型的。
难道不能直接定义一个view javaBean这样可以方便很多。
==================================================
哦,不好意思,这方面我没有解释清楚。我需要返回HashMap如上述
<resultMap id="getTestResult" class="java.util.HashMap">
<result property="编号" column="PRD_ID" />
<result property="姓名" column="PRD_NAME"/>
</resultMap>
其中property就是对HashMap指定KEY,column就对为其指定value.我需要取得这些KEY来做为我客户端table所需要的显示列名。所以我需要返回的是HashMap类型的数据。




benewu 2007-01-06
  • 打赏
  • 举报
回复
不明白lz为什么一定要返回Map类型的。
难道不能直接定义一个view javaBean这样可以方便很多。
armorking2003 2007-01-01
  • 打赏
  • 举报
回复
我个人认为,在使用ibatis时,
用Map类作为parameterClass,resultClass时,能够提高执行效率
因为这样做可以避免类反射

所以,或许可以在JavaBeanClass类中加入一个Map参数的构造子和一个返回Map对象的getObjectValue的方法。
进而,可以在JavaBeanClass中声明一个Map类型的objectValue属性,
所有的getProperty和setProperty方法都通过调用objectValue属性的get(String key)方法和
set(String key, Object value)方法来实现
armorking2003 2007-01-01
  • 打赏
  • 举报
回复
给你的JavaBean类添加一个接受Map对象的构造子
在取得List<Map>的结果后,重新生成一个List<JavaBeanClass>
zhkchi 2006-12-28
  • 打赏
  • 举报
回复
框架就是框架...

你要转化的东西不属于这个层次应该做的..
zhkchi 2006-12-28
  • 打赏
  • 举报
回复
第一次就上spring和ibatis,.先佩服你一下

你说得功能还等你去实现...
xiaoyetao08 2006-12-28
  • 打赏
  • 举报
回复
那样的话取值回会麻烦的
newyu1127 2006-12-28
  • 打赏
  • 举报
回复
哦,呵呵,那就是无解了。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧