您的位置:首页 > 其它

mybatis中映射文件的resultType和resultMap

2013-10-24 11:25 323 查看
最近项目中要用到mybatis,在google上当了个案例看了下。加入连接数据库等配置。由于实体对象属性太多,测试案例中没有一一完全写出来。

在对象的映射文件中

<select id="getMotoTransLogList" resultMap="MotoTransLogList">

SELECT * FROM MOTO_TRANS_LOG

</select>

参考案例中resultMap这里为resultType。结果页面上读取不到数据,开始没考虑到数据库查询结果返回和实体对象的映射关系。问题最终解决为从新定义一个resultMap,列出我需要的字段和对象属性。

在使用mybatis通过id查询时mybatis自动映射数据库字段和实体类,当数据库字段与实体类的属性不一致时,mybatis就不能映射了,那么可以通过下面的配置映射:

配置一个返回的Map:

<!-- 当实体类属性跟数据库字段不一致时映射结果集 -->

<resultMap type="Person" id="result_person">

<result property="name" column="t_name"/>

</resultMap>

查询的时候resultType改为resultMap

<select id="selectOne" parameterType="int" resultMap="result_person">

select * from t_person where id=#{id}

</select>

如果返回类型为resultType时,java对象的属性应和数据库表里的各字段保持一致,这样在查出结果后mybatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: