• ibatis的resultClass与resultMap 的区别


      ibatis的resultClass与resultMap还是有很大的区别。以下是我碰到的一个问题。 配置文件写法如下: 1 sqlMap2 typeAlias alias="notice" type="path.country.basic.entity.Notice"/3 resultMap id={% ...   ibatis的resultClass与resultMap还是有很大的区别。以下是我碰到的一个问题。
         配置文件写法如下:   
     1 <sqlMap>
     2     <typeAlias alias="notice" type="path.country.basic.entity.Notice"/>
     3     <resultMap id="noticeResult" class="notice" >
     4         <result property="id" column="MainID"/>
     5         <result property="content" column="Notice_Content"/>
     6         <result property="isUsed" column="Notice_IsUsed"/>
     7         <result property="createMan" column="CreateId"/>
     8         <result property="createDate" column="CreateDate"/>
     9         <result property="createIp" column="CreateIP" />
    10         <result property="lastModifyMan" column="ModifyId"/>
    11         <result property="lastModifyDate" column="ModifyDate" />
    12         <result property="lastModifyIp" column="ModifyIP" />
    13         <result property="manName" column="CreateId" select="getUserNameById"/>
    14     </resultMap>
    15      <select id="getNewNotice" resultClass="notice">
    16         SELECT *  FROM Bse_Notice WHERE Notice_IsUsed='1'
    17     </select>
    18  </sqlMap>
          在前台调用时,对象是取到了,但是里面的属性值为空。
          查了相关资料才知道:resultclass属于隐身映射,虽然你指定resultclass=“”,具体某一个类,但是select语句得到的结果是一条实力记录,但如果数据库字段与类的属性名字不一致,这个时候就会出现映射错误,有一种方式可以解决就是在写select语句时,给每个字段用as运算符取名字与属性一样:例如:select realname as name...其中realname是字段列名,name是属性字段名。
          当然解决问题还是很容易的,只需要把resultClass改为resultMap就行了。
          在性能方面,resultMap要比resultClass高,所以建议尽量使用resultMap。

    转自:http://blog.csdn.net/utstarm/article/details/8291910

  • 相关阅读:
    套接字编程,创建套接字socket
    网络编程基本原理
    进一步学习的书籍
    C# 基础备忘录
    二进制转文件以及文件压缩和解压缩
    使用用WCF中的双工(Duplex)模式将广告图片推送到每个Winform客户端机子上
    C#两个日期范围内的间隔
    C#中XML文档注释编译DLL引用到其它项目
    用T4模版生成对应数据库表的实体类
    lodop打印控件需要开启的几个计算机服务
  • 原文地址:https://www.cnblogs.com/wangkeai/p/4308532.html
Copyright © 2020-2023  润新知