<resultMap id="findMenus" type="com.guanting.wffz.k.domain.FirstMenuVO"> <result column="id" property="id" jdbcType="VARCHAR"/> <result column="name" property="name" jdbcType="VARCHAR"/> <collection property="second" ofType="com.guanting.wffz.k.domain.SecondMenuVO"> <result column="id" property="id" jdbcType="VARCHAR"/> <result column="name" property="name" jdbcType="VARCHAR"/> <collection property="third" ofType="com.guanting.wffz.k.domain.ThirdMenuVO"> <result column="id" property="id" jdbcType="VARCHAR"/> <result column="name" property="name" jdbcType="VARCHAR"/> </collection> </collection> </resultMap>
时间: 2023-12-05 16:48:19 浏览: 117
这是一个 Mybatis 的 XML 配置文件中的 ResultMap,用于将数据库查询结果映射到对应的 Java 对象中。该 ResultMap 的 id 是 "findMenus",对应的 Java 对象类型是 FirstMenuVO。其中,该 Java 对象包含一个名为 second 的属性,其类型为 SecondMenuVO 的集合;SecondMenuVO 对象包含一个名为 third 的属性,其类型为 ThirdMenuVO 的集合。该 ResultMap 中的 result 标签用于将数据库查询结果的列名映射到对应的 Java 对象属性上。而 collection 标签则用于映射 Java 对象中的集合属性,并递归映射集合中的元素。
相关问题
<resultMap id="BaseResultMap" type="com.example.pojo.Comment" > <id column="id" property="id" jdbcType="INTEGER" /> <result column="order_id" property="orderId" jdbcType="INTEGER" /> <result column="num" property="num" jdbcType="INTEGER" /> <result column="type" property="type" jdbcType="VARCHAR" /> <result column="content" property="content" jdbcType="VARCHAR" /> </resultMap>
这是一个 MyBatis 中的 resultMap,id 为 BaseResultMap,type 为 com.example.pojo.Comment,用于将查询结果映射到 Comment 对象中。
在该 resultMap 中,使用了 <id> 和 <result> 标签来描述查询结果和 Java 对象之间的映射关系。其中,<id> 标签用于定义主键属性,<result> 标签用于定义普通属性。
在每个 <id> 和 <result> 标签中,都需要定义三个属性:column、property 和 jdbcType。其中,column 属性指定查询结果中的列名,property 属性指定 Java 对象中的属性名,jdbcType 属性指定属性的 JDBC 类型。
该 resultMap 中,将查询结果中的 id、order_id、num、type 和 content 列,分别映射到 Comment 对象的 id、orderId、num、type 和 content 属性中。
最终,当执行查询操作时,MyBatis 会根据该 resultMap 将查询结果映射成 Comment 对象,从而方便 Java 代码对查询结果进行处理和操作。
<mapper namespace="com.cskaoyan.mapper.MarketOrderMapper"> <resultMap id="BaseResultMap" type="com.cskaoyan.bean.MarketOrder"> <id column="id" jdbcType="INTEGER" property="id" /> <result column="user_id" jdbcType="INTEGER" property="userId" /> <result column="order_sn" jdbcType="VARCHAR" property="orderSn" /> <result column="order_status" jdbcType="SMALLINT" property="orderStatus" /> <result column="aftersale_status" jdbcType="SMALLINT" property="aftersaleStatus" /> <result column="consignee" jdbcType="VARCHAR" property="consignee" /> <result column="mobile" jdbcType="VARCHAR" property="mobile" /> <result column="address" jdbcType="VARCHAR" property="address" /> <result column="message" jdbcType="VARCHAR" property="message" /> <result column="goods_price" jdbcType="DECIMAL" property="goodsPrice" /> <result column="freight_price" jdbcType="DECIMAL" property="freightPrice" /> <result column="coupon_price" jdbcType="DECIMAL" property="couponPrice" /> <result column="integral_price" jdbcType="DECIMAL" property="integralPrice" /> <result column="groupon_price" jdbcType="DECIMAL" property="grouponPrice" /> <result column="order_price" jdbcType="DECIMAL" property="orderPrice" /> <result column="actual_price" jdbcType="DECIMAL" property="actualPrice" /> <result column="pay_id" jdbcType="VARCHAR" property="payId" /> <result column="pay_time" jdbcType="TIMESTAMP" property="payTime" /> <result column="ship_sn" jdbcType="VARCHAR" property="shipSn" /> <result column="ship_channel" jdbcType="VARCHAR" property="shipChannel" /> <result column="ship_time" jdbcType="TIMESTAMP" property="shipTime" /> <result column="refund_amount" jdbcType="DECIMAL" property="refundAmount" /> <result column="refund_type" jdbcType="VARCHAR" property="refundType" /> <result column="refund_content" jdbcType="VARCHAR" property="refundContent" /> <result column="refund_time" jdbcType="TIMESTAMP" property="refundTime" /> <result column="confirm_time" jdbcType="TIMESTAMP" property="confirmTime" /> <result column="comments" jdbcType="SMALLINT" property="comments" /> <result column="end_time" jdbcType="TIMESTAMP" property="endTime" /> <result column="add_time" jdbcType="TIMESTAMP" property="addTime" /> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> <result column="deleted" jdbcType="BIT" property="deleted" /> </resultMap>
这段代码是一个MyBatis的XML文件中的mapper标签,用于配置与MarketOrder相关的SQL语句和映射关系。其中,resultMap标签用于定义查询结果与Java对象之间的映射关系。具体来说,定义了MarketOrder类的各个属性与查询结果中对应字段的映射关系。例如,id属性对应查询结果中的id字段,userId属性对应查询结果中的user_id字段,以此类推。
在实际的SQL查询中,可以通过引用该resultMap来获取查询结果并将其转换为对应的Java对象,例如:
```
<select id="getOrderById" resultMap="BaseResultMap">
SELECT * FROM market_order WHERE id = #{id}
</select>
```
这里的getOrderById是一个SQL查询语句的ID,resultMap="BaseResultMap"表示将查询结果使用上面定义的BaseResultMap映射到MarketOrder对象中。
阅读全文