Mybits动态SQL使用

MyBatis 的强大特性之一便是它的动态 SQL。

 

动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处理器相似。主要由以下几种元素。

  • if
  • where
  • trim 
  • choose (when, otherwise)
  • set
  • foreach
  • bind

特殊字符转换:

 将所有的元素放在where标签内,where元素会自动去除首位的and或or。注意是首位的and或者or。

foreach

用来对集合进行遍历

<?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="com.pjf.mybatis.dao.HotelMapper">

    <resultMap type="com.pjf.mybatis.po.Hotel" id="myHotel">
        <id column="id" property="id" jdbcType="INTEGER" />
        <result column="hotel_name" property="hotelName" jdbcType="VARCHAR" />
        <result column="hotel_address" property="hotelAddress"
            jdbcType="VARCHAR" />
        <result column="price" property="price" jdbcType="INTEGER" />
    </resultMap>

    <!-- resultMap使用 -->
    <select id="getHotel" resultMap="myHotel">
        select*
        from hotel where id in 
        <!-- collection 指要遍历的集合    1. 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
                                        2. 如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
                                        3. 如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以封装成map,map的key就是参数名,所以这个时候collection属性值就是传入的List或array对象在自己封装的map里面的key 
                 item 将遍历出的元素赋值给指定的变量
                 separator  每个元素之间的分隔符
                 open 遍历出的结果拼接出一个开始符
                 close 遍历出的结果拼接一个结束符
                 index 索引
         -->
        <foreach collection="list" item="ids" separator="," open="(" close=")">
        #{ids}
        </foreach>
    </select>
</mapper>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值