Mybatis参数类型传递总结

本文总结了Mybatis中三种参数类型的使用:1)List类型,用于批量插入操作;2)Map类型,通过Map参数查询数据;3)利用foreach标签进行集合遍历,实现条件查询。详细介绍了对应的Dao接口定义和mapper文件配置。
1、List类型
dao层:int batchAddCarNoticeLog(List<MealCarNoticeLog> noticeList);
mapper文件:(批量插入)
<insert id="batchAddCarNoticeLog" parameterType="java.util.List">
insert into biz_car_notice_log
(notice_id, car_id, update_user_no,
need_notice_user_no, goods_id, goods_name,
number, add_flag, notice_flag,
create_time, update_time, delete_flag
)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.noticeId,jdbcType=VARCHAR}, #{item.carId,jdbcType=VARCHAR}, #{item.updateUserNo,jdbcType=VARCHAR},
#{item.needNoticeUserNo,jdbcType=VARCHAR}, #{item.goodsId,jdbcType=VARCHAR}, #{item.goodsName,jdbcType=VARCHAR},
#{item.number,jdbcType=INTEGER}, #{item.addFlag,jdbcType=VARCHAR}, #{item.noticeFlag,jdbcType=VARCHAR},
#{item.createTime,jdbcType=BIGINT}, #{item.updateTime,jdbcType=BIGINT}, #{item.deleteFlag,jdbcType=VARCHAR}
)
</foreach>
2、Map类型
Dao接口:List<MealCarNoticeLog> getCarNoticeListByCarIdAndUserNo(Map<String,String> map)
mapper映射文件
<select id="getCarNoticeListByCarIdAndUserNo" parameterType="java.util.Map" resultMap="BaseResultMap" >
select
notice_id, car_id, update_user_no, need_notice_user_no, goods_id, goods_name, number,
add_flag, notice_flag, create_time, update_time, delete_flag
from biz_car_notice_log
where car_id = #{carId,jdbcType=VARCHAR}
AND need_notice_user_no = #{needNoticeUserNo,jdbcType=VARCHAR}
AND notice_flag = '0'
AND delete_flag = 'N'
</select>
3、Mapper映射文件foreach使用
<select id="getPropertyGroupList" parameterType="java.util.List" resultMap="PropertyGroupListMap">
select pg.group_id,pg.group_name,p.property_id,p.property_name
from property p left join property_group pg
on p.group_id = pg.group_id where IFNULL(pg.delete_flg,'N') = 'N'
AND IFNULL(p.delete_flg,'N') = 'N'
AND pg.group_status = 1
AND p.property_id in
<foreach collection="list" item="propertyId" index="index" open="(" close=")" separator=",">
#{propertyId}
</foreach>
</select>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值