zoukankan      html  css  js  c++  java
  • mybatis最重要的mapper文件书写

    1.MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap。

    也只有在mapper的select标签中,才会指定resultMap属性的值,其他insert/update/delete是不需要指定resultsMap属性的。

    mapper文件里还有一个重要属性,parameterType。指定参数的类型

    <select id="selectBlog" parameterType="int" resultType="Blog">
      		select * from t_blog where id = #{id}
    </select><!--来自SQL映射文件BlogMapper.xml-->

    resultMap就是进行object与table记录的转换的啊。

    3. MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而resultMap就是结果集映射的配置标签了。

    resultMap就是结果映射标签

    resultMap就是结果映射标签!

    resultMap就是结果映射标签!!

    所以resultMap要指定两边的具体值啊。即:指定

    <select id="selectOne" resultMap="BaseResultMap">
            select * from tbl_user
            <where>
            <trim prefixOverrides="and">
                <if test="openid != null">
                    and openid = #{openid}                
                </if>
                <if test="uid != null">
                    and uid = #{uid}                
                </if>
                <if test="phone != null">
                    and phone = #{phone}                
                </if>
            </trim>
            </where> 
            limit 1
        </select>

    即只有查询时候才会得到数据,才会用到类型匹配转换,insert/update/delete等这种写操作是不会用到resultmap/resulttype类型转换的。

    2.resultmap也可以进行继承的,从其他resultmap里继承过来匹配的关系

    <resultMap id="BaseResultMap" type="User" extends="SimpleResultMap">
            <id property="uid" column="uid" />
    
            <result property="unionid" column="unionid"/>
            <result property="openid" column="openid"/>
            <result property="age" column="age"/>
            <result property="birthday" column="birthday"/>
            <result property="sex" column="sex"/>
            <result property="phone" column="phone"/>
            <result property="email" column="email"/>
            <result property="qq" column="qq"/>
            <result property="wechat" column="wechat"/>
            <result property="province" column="province"/>
            <result property="city" column="city"/>
            <result property="country" column="country"/>
            <result property="channel" column="channel"/>
            <result property="password" column="password"/>
            
            <!-- SimpleResultMap 中已经有
            <result property="nickname" column="nickname"/>
            <result property="headimgurl" column="headimgurl"/>
            <result property="appid" column="appid"/>
            <result property="password" column="password"/>
             -->
            <result property="backgroundimg" column="backgroundimg"/>
            <result property="description" column="description"/>
            <result property="createTime" column="create_time"/>
            
        </resultMap>
        
        <resultMap  id="SimpleResultMap" type="User">
            <id property="uid" column="uid" />
            <result property="nickname" column="nickname"/>
            <result property="headimgurl" column="headimgurl"/>
        </resultMap>
  • 相关阅读:
    20145224&20145238 《信息安全系统设计基础》第二次实验
    《信息安全系统设计基础》 第九周学习总结
    20145224&20145238 《信息安全系统设计基础》 第一次实验
    《信息安全系统设计基础》 第八周学习总结
    《信息安全系统设计基础》 第七周学习总结
    《信息安全系统设计基础》 第六周学习总结
    在Ubuntu中创建与Windows的共享文件夹
    《信息安全系统设计基础》 第五周学习总结
    《信息安全系统设计基础》 第三周学习总结
    20145211 《信息安全系统设计基础》第十周学习总结——水流无限似侬愁
  • 原文地址:https://www.cnblogs.com/panxuejun/p/6125655.html
Copyright © 2011-2022 走看看