mybatis学习

本文介绍了MyBatis中如何使用List集合进行数据查询操作。通过两个示例展示了在Mapper接口和XML配置文件中,如何定义方法和SQL语句,以便根据用户ID列表获取订单信息。示例中,`selectOrderByUserIds`方法接收一个Integer列表,利用`<foreach>`标签遍历并构建IN查询条件,从而实现批量查询。

#mapper使用
##集合篇
###list集合
mybatis默认映射为list,具体用法如下所示

用例1:
<!--mapper-model:OrderInfo -->
@Data
public class OrderInfo {
Integer id;
Integer productId;
Integer userId;
Integer status;
Byte deleted;
}
<!--mapper-interface:OrderInfoMapper -->
public interface OrderInfoMapper {
  	/**
     * 根据用户ID获取订单列表
     * @param ids
     * @return
     */
    List<OrderInfo> selectOrderByUserIds(List<Integer> ids);
}

<!--mapper-xml:OrderInfoMapper.xml-->

<?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.yinxuep.mybatis.mapper.OrderInfoMapper">
<resultMap id="BaseResultMap" type="com.yinxuep.mybatis.vo.OrderInfo">
<id column="id" jdbcType="INTEGER" property="id"/>
      <result column="user_id" jdbcType="INTEGER" property="userId"/>
      <result column="product_id" jdbcType="INTEGER" property="productId"/>
       <result column="status" jdbcType="INTEGER" property="status"/>
      <result column="deleted" jdbcType="TINYINT" property="deleted"/>
</resultMap>
<select id="selectOrderByUserIds" resultMap="BaseResultMap" parameterType="**java.util.List**">
        select id,user_id,product_id,status,
         from d_order_info
        where
        deleted = 0
        and user_id in
        <foreach collection="**list**" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
    </select>
 </mapper>
用例2:
<!--model-query:OrderInfoQuery -->
@Data
public class OrderInfoQuery {
List<Integer> userIds;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值