首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

mybatis中投射文件的resultType和resultMap

2013-03-25 
mybatis中映射文件的resultType和resultMap最近项目中要用到mybatis,在google上当了个案例看了下。加入连接

mybatis中映射文件的resultType和resultMap

最近项目中要用到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所指定的对象对应的属性。

热点排行