【发布时间】:2013-09-25 23:33:28
【问题描述】:
我对 ibatis 比较陌生。我知道它已经升级到了mybatis,但是由于某种原因我不得不使用ibatis。我的问题是“是否可以映射名称与表列不同的 POJO 字段?”
我有一个表、映射文件和 POJO 类。如果我的 POJO 类的名称与表中的列完全相同,我可以成功读取数据,但如果我将该字段命名为其他名称,则它不起作用。我更改了相应的getter并在映射文件中定义了一个resultMap,如下所示
<resultMap id="result" class="Subscriber">
<result column="AdvisorId" property="id" jdbcType="INTEGER"/>
<result column="FirstName" property="FirstName" jdbcType="VARCHAR"/>
<result column="LastName" property="LastName" jdbcType="VARCHAR"/>
<result column="EmailId" property="EmailId222" jdbcType="VARCHAR"/>
</resultMap>
<select id="getAll" resultMap="result">
SELECT AdvisorId,FirstName,LastName,EmailId FROM communication
</select>
这里作为一个例子,我试图将我的 POJO 字段中的 EmailId 重命名为 EmailId222
【问题讨论】:
-
是的,只要订阅者 bean 中有一个名为 EmailId222 的属性并具有正确的 getEmailId222 和 setEmailId222 方法,这应该可以工作。
-
@Ankit,我没有二传手。现在我加了,还是不行。
-
是的,没有setter ibatis 将不知道EmailId 需要映射到哪个字段。