oracle 数据库字段名与实体类字段名称不匹配的处理方法
之前公司一直都使用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>
希望可以帮助到大家
不积跬步无以至千里