mybatis中resultMap的使用
时间: 2024-05-16 15:18:54 浏览: 110
在MyBatis中,ResultMap用于解决数据库表中字段与实体类中属性不一致的情况。通过建立一种映射关系,使表中的字段与实体类中的属性一一对应。
在mapper.xml文件中,可以通过ResultMap属性来指定映射。首先,需要在mapper.xml文件中定义一个ResultMap,指定映射的JavaBean类型,并为该ResultMap指定一个唯一的id。在ResultMap中,使用<result>标签来指定字段和属性的映射关系。其中,column属性指代表数据库表中的字段,property属性指代JavaBean中的属性名。例如:
```
<resultMap id="brandResultMap" type="brand">
<result column="brand_name" property="brandName"/>
<result column="company_name" property="companyName"/>
</resultMap>
```
接着,在sql语句中使用<select>标签,通过resultMap属性指定使用哪个ResultMap进行映射。例如:
```
<select id="selectAll" resultMap="brandResultMap">
select * from tb_brand;
</select>
```
如果需要返回的对象类中包含对象属性,同样需要进行映射。在ResultMap中,可以使用<association>标签来指定对象属性的映射关系。例如:
```
<resultMap type="com.pjf.mybatis.po.Hotel" id="myHotel">
<id column="id" property="id" jdbcType="INTEGER" />
<result column="hotel_name" property="hotelName" jdbcType="VARCHAR" />
<result column="hotel_address" property="hotelAddress" jdbcType="VARCHAR" />
<result column="price" property="price" jdbcType="INTEGER" />
<!-- 这里可以继续添加其他属性的映射 -->
</resultMap>
```
然后,在sql语句中使用<select>标签,通过resultMap属性指定使用哪个ResultMap进行映射。例如:
```
<select id="getHotel" resultMap="myHotel">
select * from hotel where id=#{id}
</select>
```
通过使用ResultMap,我们可以灵活地处理实体类与数据库表字段之间的映射关系,以及实体类中对象属性的映射。这样可以更好地组织和管理数据对象的映射规则,提高代码的可读性和可维护性。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [mybatis中关于resultMap的使用](https://blog.csdn.net/a18372016358/article/details/129375251)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [MyBatis学习(3)—— resultMap的使用](https://blog.csdn.net/weixin_41565013/article/details/88920898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文