2013-08-19 51 views
2

我對ibatis比較陌生。我知道它已經升級到mybatis,但由於某種原因我必須使用ibatis。我的問題是「是否可以將POJO字段映射爲與表列不同的名稱?」是否可以將POJO字段映射爲與表列不同的名稱?

我有一個表,映射文件和POJO類。如果我的POJO類的名稱與表中的列完全相同,我可以成功讀取數據,但如果我將該字段命名爲其他字段,則不起作用。我改變了相應的getter和類似下面的

<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> 

做爲一個例子,映射文件中定義的resultMap的,我想在我的POJO字段可重命名EMAILID到EmailId222

+0

是的,這應該是隻要有一個在用戶豆適當getEmailId222和setEmailId222方法命名EmailId222財產的工作。 – Ankit

+0

@Ankit,我沒有設置。現在我添加了它,但仍然不起作用。 – Alex

+1

是的,如果沒有setter,ibatis將不知道EmailId需要映射到哪個字段。 – Ankit

回答

0

用戶類你必須定義獲得者設置者該領域的方法。必要時請小心使用大寫字母。然後,您必須重新啓動應用程序才能使更改生效。在你的情況,你應該實現:

getEmailId222(){...} 

setEmailId222(String EmailId222){...} 
相關問題