之前公司一直都使用sql server 即使数据库字段名称与实体类名称不相同 可以使用诸如:

select id as userId  from tb_user 

这种写法,可换到了oracle 之后坑爹的事情发生了,如果还按照上方的写法,属性值就是映射不进去,所以目前找到的解决办法只有使用

<resultMap>来帮助映射:

<!-- 获得查询条件-->
<select id="getQueryBean" parameterType="com.QueryBean"
resultMap="tdQueryBean">
SELECT
ACCOUNT_NAME,
ID_NUMBER,
ACCOUNT_MOBILE ,
ORGANIZATION,
SEQ_ID,
CREATEDATE
FROM ICS_TD_QUERY_LOG WHERE
ACCOUNT_NAME=#{account_name} AND
ID_NUMBER=#{id_number}
<if test="account_mobile != null">
AND ACCOUNT_MOBILE = #{account_mobile}
</if>
<if test="seq_id != null">
AND SEQ_ID = #{seq_id}
</if>
<![CDATA[AND ROWNUM <= 1]]>
ORDER BY CREATEDATE DESC
</select> <resultMap type="com.QueryBean" id="tdQueryBean">
<!-- property对应实体类的属性名称,column为数据库结果集的列的名称 -->
<result property="account_name" column="ACCOUNT_NAME"/>
<result property="id_number" column="ID_NUMBER"/>
<result property="account_mobile" column="ACCOUNT_MOBILE"/>
<result property="organization" column="ORGANIZATION"/>
<result property="seq_id" column="SEQ_ID"/>
<result property="createDate" column="CREATEDATE"/>
</resultMap>

希望可以帮助到大家

05-11 18:39