mybatis的mapper的配置文件的resultMap元素的用法和作用

本文详细介绍了MyBatis中resultMap元素的使用方法及其作用,通过具体的XML配置示例展示了如何将数据库查询结果映射到Java实体类中,包括属性与字段的映射配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mybatis的mapper.xml的配置文件的resultMap元素的用法和作用:

resultMap元素的作用是将数据库中查询的每行记录映射成java中的实体类,以方便调用。

具体如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.edu.zju.grs.alufer.albert.mobile.mapper.MobilePushConf">

<resultMap type="cn.edu.zju.grs.alufer.albert.mobile.mapper.MobilePushConf" id="mobilePushConf">
<result property="id" column="ID" javaType="String"/>
<result property="categoryId" column="CATEGORY_ID"/>
<result property="pushType" column="PUSH_TYPE"/>
<result property="startDate" column="START_DATE"/>
<result property="intervalTime" column="INTERVAL_TIME"/>
<result property="endDate" column="END_DATE"/>
<result property="deleted" column="DELETED"/>
<result property="addTime" column="ADD_TIME"/>
<result property="updateTime" column="UPDATE_TIME"/>
</resultMap>


<insert id="insert" parameterType="cn.edu.zju.grs.alufer.albert.mobile.mapper.MobilePushConf" keyProperty="id">
INSERT INTO MOBILE_PUSH_CONF (
<include refid="fields" />
) VALUES (
<include refid="values" />
)
</insert>


<select id="load" parameterType="String" resultMap="mobilePushConf">
SELECT * FROM MOBILE_PUSH_CONF WHERE DELETED = '0' AND ID = #{id} 
</select>


<select id="select" parameterType="net.butfly.albacore.criteria.Criteria" resultMap="mobilePushConf">
SELECT * FROM MOBILE_PUSH_CONF
<include refid="where"/>
</select>


<select id="count" parameterType="net.butfly.albacore.criteria.Criteria" resultType="int">
SELECT COUNT(*) FROM MOBILE_PUSH_CONF
<include refid="where"/>
</select>


<update id="update" parameterType="cn.edu.zju.grs.alufer.albert.mobile.mapper.MobilePushConf">
UPDATE MOBILE_PUSH_CONF
<include refid="set"/>
WHERE ID = #{id}
</update>


<update id="delete" parameterType="String">
UPDATE MOBILE_PUSH_CONF SET DELETED = '1' WHERE ID = #{id}
</update>

<delete id="deletePhysical" parameterType="String">
DELETE FROM MOBILE_PUSH_CONF WHERE ID = #{id}
</delete>

<sql id="fields">
ID
<if test="categoryId!=null">,CATEGORY_ID</if>
<if test="pushType!=null">,PUSH_TYPE</if>
<if test="startDate!=null">,START_DATE</if>
<if test="intervalTime!=null">,INTERVAL_TIME</if>
<if test="endDate!=null">,END_DATE</if>
<if test="deleted!=null">,DELETED</if>
<if test="addTime!=null">,ADD_TIME</if>
<if test="updateTime!=null">,UPDATE_TIME</if>
</sql>

<sql id="values">
#{id}
<if test="categoryId!=null">,#{categoryId}</if>
<if test="pushType!=null">,#{pushType}</if>
<if test="startDate!=null">,#{startDate}</if>
<if test="intervalTime!=null">,#{intervalTime}</if>
<if test="endDate!=null">,#{endDate}</if>
<if test="deleted!=null">,#{deleted}</if>
<if test="addTime!=null">,#{addTime}</if>
<if test="updateTime!=null">,#{updateTime}</if>
</sql>

<sql id="set">
<set>
<trim prefix="" prefixOverrides=",">
<if test="categoryId!=null">,CATEGORY_ID = #{categoryId}</if>
<if test="pushType!=null">,PUSH_TYPE = #{pushType}</if>
<if test="startDate!=null">,START_DATE = #{startDate}</if>
<if test="intervalTime!=null">,INTERVAL_TIME = #{intervalTime}</if>
<if test="endDate!=null">,END_DATE = #{endDate}</if>
<if test="deleted!=null">,DELETED = #{deleted}</if>
<if test="addTime!=null">,ADD_TIME  = #{addTime}</if>
<if test="updateTime!=null">,UPDATE_TIME = #{updateTime}</if>
</trim>
</set>
</sql>
<sql id="where">
<where>
   <trim prefix=""  prefixOverrides="and|or" >
   DELETED = '0'
   <if test="id!=null">AND ID = #{id}</if>
<if test="categoryId!=null">AND CATEGORY_ID = #{categoryId}</if>
<if test="pushType!=null">AND PUSH_TYPE = #{pushType}</if>
<if test="startDate!=null">AND START_DATE = #{startDate}</if>
<if test="intervalTime!=null">AND INTERVAL_TIME = #{intervalTime}</if>
<if test="endDate!=null">AND END_DATE = #{endDate}</if>
<if test="bindStatus!=null">AND BIND_STATUS = #{bindStatus}</if>
<if test="addTime!=null">AND ADD_TIME  = #{addTime}</if>
<if test="updateTime!=null">AND UPDATE_TIME = #{updateTime}</if>
</trim>
</where>
</sql>


</mapper>



其中的type元素是对应的实体类的全限定名,id对应下面的resultMap。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值