zoukankan      html  css  js  c++  java
  • MyBatis (六)知识总结(部分)

    这篇博客通过一些题来总结一下对应的知识点(选项为绿色的为正确选项)

    mappers标签(映射配置)

    1.通过resource加载单个映射文件

    使用相对于类路径的资源:

        <!-- 加载映射文件 -->
        <mappers>
            <!-- 加载单个类路径下的映射文件 -->
            <mapper resource="cn/domarvel/entity/User.xml"></mapper>
            <mapper resource="cn/domarvel/dao/UserMapper.xml"></mapper>
        </mappers>

    2.<mapper url=" " />

    使用完全限定路径

    <mapper url="file:///D:workspace_spingmvcmybatis_01configsqlmapUser.xml" />

    3.<mapper class=" " />

    使用mapper接口类路径

        <!-- 加载映射文件 -->
        <mappers>
            <!-- 使用类路径加载单个映射文件 -->
            <mapper url="cn.domarvel.dao.UserMapper"/>
        </mappers>

    注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。并且还有一个前提是:使用的是mapper代理方法

    4.<package name=""/>

    自动批量加载指定包下的所有mapper接口配置文件

     <!-- 加载映射文件 -->
        <mappers>
            <!-- 自动批量加载指定包下的所有Mapper接口配置文件 -->
            <package name="cn.domarvel.dao"/>
        </mappers>

    注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。并且还有一个前提是:使用的是mapper代理方法

     

    这里的<![CDATA[]]>在Mybatis中含义

    在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决

    <select id="allUserInfo" parameterType="java.util.HashMap" resultMap="userInfo1">  
      <![CDATA[  
      SELECT newsEdit,newsId, newstitle FROM shoppingGuide  WHERE 1=1  AND  newsday > #{startTime} AND newsday <= #{endTime}  
      ]]>  
      <if test="etidName!=''">  
       AND newsEdit=#{etidName}  
      </if>  
     </select>  

    因为这里有 ">"  "<=" 特殊字符所以要使用 <![CDATA[   ]]> 来注释,但是有<if> 标签,所以把<if>等 放外面

    至于D选项的错误是因为insert标签中将parameterType写成了resultType

    嵌套查询(select) 方式才会产生n+1问题,嵌套查询,你执行了一个单独的 SQL 语句来获取结果列表(就是“+1”) ,对返回的每条记录,你执行了一个查询语句来为每个加载细节(就是“N”)。推荐使用关联的嵌套结果方式。

    在mybaits中,setting的的配置参数如下(个别)

  • 相关阅读:
    关于程序出现 “因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫”
    循环物理依赖
    重新生成执行计划
    SQL SERVER 2008 存储过程传表参数
    关于operator void* 操作符
    关于C++编译时内链接和外链接
    低级键盘钩子,在WIN7以上版本的问题
    关于SendMessage和PostMessage的理解的例子
    一个简单代码
    GET 和 POST 比较整理
  • 原文地址:https://www.cnblogs.com/my-123/p/8527696.html
Copyright © 2011-2022 走看看