• MyBatis foreach标签有什么作用呢?


    转自:

    MyBatis foreach标签有什么作用呢?

    下文讲述MyBatis中foreach标签的相关功能

    MyBatis foreach标签的功能

    用于实现sql 语句中的in 条件中的内容
    Mybatis中foreach标签可以很好的支持List、set接口的集合

    foreach语句如下所示:

    
        参数值
    
    

    foreach标签中常用的属性值说明:

    属性值功能
    item设置集合中每一个元素进行迭代时的别名
    index指定一个名字,表示在迭代过程中每次迭代到的位置
    open设置该语句以什么开始(既然是 in 条件语句,所以必然以(开始)
    separator设置在每次进行迭代之间以什么符号作为分隔符(既然是 in 条件语句,所以必然以,作为分隔符)
    close设置该语句以什么结束(既然是 in 条件语句,所以必然以)开始)
    foreach标签注意事项:
           使用foreach标签时,大家一定要注意collection属性,
           此属性必须输入,此属性值可放入以下三种类型
    一、传入的是单参数且参数类型是一个 List,collection 属性值为 list。
    二、传入的是单参数且参数类型是一个 array 数组,collection 的属性值为 array。
    三、传入的参数是多个,需要把它们封装成一个 Map,当然单参数也可以封装成 Map。
        Map 的 key 是参数名,collection 属性值是传入的 List 或 array 对象在自己封装的 Map 中的 key
    

    例 下文将基于 User表,进行相应的查询操作 user表的内容如下:

    idnamenotes
    1王二哈哈
    2张三喜喜
    3里斯莉莉

    UserMapper.xml

    
    
    

    UserInfoMapper 类

    public List selectUserInfo(List idList);
    

    测试代码

    public class Test {
        public static void main(String[] args) throws IOException {
            // 读取配置文件mybatis-config.xml
            InputStream config = Resources.getResourceAsStream("mybatis-config.xml"); // 根据配置文件构建
            SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(config);
            // 通过SqlSessionFactory创建SqlSession
            SqlSession ss = ssf.openSession();
            List idList = new ArrayList();
            idList.add(1);
            idList.add(3);
            List userList = ss.selectList("com.java265.mapper.UserInfoMapper.selectUserInfo", idList);
            for (UserInfo t : userList) {
                System.out.println(t);
            }
        }
    }
    

    输出结果---
    DEBUG [main] - ==> Preparing: SELECT id,name,notes FROM userInfo WHERE id in ( ? , ? )
    DEBUG [main] - ==> Parameters: 10(Integer), 12(Integer)
    DEBUG [main] - <== Total: 2
    UserInfo[id=1,name=王二,notes=哈哈]
    UserInfo[id=3,name=里斯,notes=莉莉]

  • 相关阅读:
    怎么把视频转换成mp4格式
    pandas 基础和示例
    JavaSE - 继承
    自定义mybatis插件实现sql日志打印
    LVS-NAT之VMNET环境搭建
    【无标题】
    SpringCloud Fegin CircuitBreaker (原hystrix) 熔断失效原因
    基于SSM的社区疫情居民信息登记系统
    湖南(广告效果测评)源点调研 广告对消费者行为的影响效果
    防火墙安全策略实验
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/128066218