2013-08-19 46 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){...} 
相关问题