mybatis传多个参数查询

本文详细介绍了如何在MyBatis中使用多个参数进行复杂查询,包括List、Int和String等类型的数据。通过示例展示了如何在DAO层定义方法,并在XML映射文件中使用foreach和if标签实现动态SQL,以满足不同查询条件的需求。

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

传多个参数到mybatis中进行查询,包括list,int类型数据,String类型数据等等

Dao层://按条件查询
    public List<CabHistoryAndDevice> findAllCabInfoByCon(@Param("adaids")List<Integer> alist, @Param("bt")String bt, @Param("et")String et,  @Param("ty")String ty, @Param("cc")String cc,@Param("vn")String vn, @Param("re")String re);

mybatis:

<!-- 按条件查询所有记录 -->
    <select id = "findAllCabInfoByCon" resultType = "com.chemguan.bean.CabHistoryAndDevice">
        SELECT
            d.i_Type,
            d.vc_Name,
            h.i_time,
            h.i_ControlCode,
            h.i_Reason,
            h.i_UserType,
            h.i_Authorization,
            h.AdapterID,
            h.UserID
        FROM
            cab_deviceinfo AS d
        INNER JOIN cab_historydata AS h
        ON
            d.AdapterID=h.AdapterID and d.DeviceID=h.DeviceID and h.AdapterID in 
            <foreach item="ada" index="index" collection="adaids" open="(" separator="," close=")">  
             #{ada.AdapterID}  
           </foreach>
        <if test="ty != null"> 
            and d.i_Type = #{ty}
        </if> 
        <if test="cc != null"> 
            and h.i_ControlCode = #{cc}
        </if> 
        <if test="vn != null"> 
            and d.vc_Name = #{vn}
        </if> 
        <if test="re != null"> 
            and h.i_Reason = #{re}
        </if>
        <if test="bt != null">  
            and h.i_time &gt;=#{bt} 
        </if>
        <if test="et != null">  
            and h.i_time &lt;=#{et} 
        </if>
    </select>

 

个人小笔记,仅供参考~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值