注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

断尘居

温柔的男人像海洋。

 
 
 
 
 

日志

 
 

parameterClass和parameterMap,resultMap  

2011-01-09 05:58:42|  分类: SSH |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

parameterClass和parameterMap
在xml文件中要建立parameterMap的节点信息,对于存储过程之外的statement而言,建议使用parameterClass作为参数配置凡是,
一方面避免了参数映射配置工作,另一方面性能表现出色

parameterMap和resultMap实现了pojo到数据库字段的映射配置
返回的结果MAP
<resultMap id="get_user_result" class="user">
<result property="name" column="xingming" jdbcType="varchar" javaType="java.lang.String"/>
</resultMap>

参数MAP
<parameterMap id="update_user_para" class="redemption" >
<parameter property="name" jdbcType="VARCHAR" javaType="java.lang.String" nullValue=""/>
<parameter property="sex" jdbcType="int" javaType="java.lang.Integer" nullValue=""/> //nullvalue指明了参数为空的默认值
</parameterMap>

对于insert ,update, delete, select来说,优先使用parameterClass和resultClass
parameterMap 使用较少,而 resultMap 则大多用于嵌套查询以及存储过程的
处理,之所以这样,原因是由于存储过程相对而言比较封闭(很多情况下需要调用现有
的存储过程,其参数命名和返回的数据字段命名往往不符合 Java编程中的命名习惯,
并且由于我们难以通过Select SQL的as子句进行字段名转义,无法使其自动与POJO
中的属性名相匹配)。此时,使用 resultMap建立字段名和 POJO属性名之间的映射
关系就显得非常有效。另一方面,由于通过 resultMap 指定了字段名和字段类型,
ibatis无需再通过JDBC ResultSetMetaData 来动态获取字段信息,在一定程度
上也提升了性能表现。

对于parameterMap的使用(在配置节点的时间千万别加nullvalue="",不然就会出错).
先建立一个parameterMap节点,里面的class可以指定为一个已经定义好了的pojo(在程序中传值的时间传个pojo),也可以指定为一个java.util.Map(在程序中传值要传个map),
当下面的statement中使用了parameterMap属性之后,sql语句中的相关字段必须用?来替代,所设定的字段顺序要和parameterMap中property中的顺序一样

  评论这张
 
阅读(5166)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017