MyBatis 使用总结

作者: _大风起兮云飞扬_ | 来源:发表于2017-02-13 21:59 被阅读18次

    1. 符号#和$的区别

    select * from WZGL_Wzdrd where dwbh=#{dwbh,jdbcType=VARCHAR} and dbdbh in ${dbdbh}
    符号#表示会作为字符串,自动加上引号;符号$表示会作为SQL语句的一部分,不加引号。例如上面的例子中我可以通过dbdbh传入('001','002','003','004','005')

    2. 大于号和小于号要使用转义字符

    大于号>用>
    小于号<用<
    不等于<>用<>

    3. 连接字符串

        <if test="null != customerName and '' != customerName">
            and customer_name like CONCAT('%',#{customerName},'%')
        </if>
    

    4. IN 的用法

    方法一

    <!--根据多个ID查找 -->
      <select id="queryByDbdbh"  resultMap="authorResultMap">
      SELECT * FROM WZGL_Wzdrd 
      WHERE dbdbh in
      <foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
        #{item}
      </foreach>
      <!-- collection:传入参数的名称 index:索引: item:collection的别名 -->
    </select>
    

    方法二

    select * from WZGL_Wzdrd where dwbh=#{dwbh,jdbcType=VARCHAR} and dbdbh in ${dbdbh}
    

    注意#和$的区别,这里dbdbh提前构造为“('001','002','003','004','005')”

    相关文章

      网友评论

        本文标题:MyBatis 使用总结

        本文链接:https://www.haomeiwen.com/subject/ldbtwttx.html