MyBatis动态SQL之foreach用法

来源:互联网 发布:ipv6 端口号 编辑:程序博客网 时间:2024/06/05 05:55

首先简单说下foreach六个属性

item  每一次迭代结果     collection  循环集合成指定类型    separator 元素之间的分隔符,可选

open 开始符号,可选       close 关闭符号,可选       index   list和数组的序号,可选

接着来看一下循环查询的例子

在user.xml中加入

<select id="selectUserForeach" resultType="User" parameterType="list"select * from user          <where>            id in            <foreach item="item" index="index" collection="list"                open="(" separator="," close=")">                #{item}            </foreach>        </where></select>

在测试代码中加入

ArrayList<Integer> ides=new ArrayList();            ides.add(2);            ides.add(8);            ides.add(9);            List<User> ap=session.selectList("selectUserForeach", ides);            for(User temp:ap) {                   System.out.println("用户ID="+temp.getId()+"用户名="+temp.getUserName()            +"密码="+temp.getPassword());            }

运行,控制台就会打印出id为2,8,9的相关属性的值,执行的SQL语句为select * from user WHERE id in ( ? , ? , ? ) 


//循环赋值

在user.xml中加入

<insert id="insertUserForeach">         insert into User (userName, password) values        <foreach item="item" index="key" collection="list"             open="" separator="," close="">(#{item.userName}, #{item.password})       </foreach>          </insert>

在测试代码中加入

//动态SQL之foreach 循环赋值            ArrayList<User> jList=new ArrayList();            User one=new User("kb1","8866");            User two=new User("kb2","8866");            jList.add(one);            jList.add(two);            session.insert("insertUserForeach",jList);            session.commit();

运行,执行的SQL语句为insert into User (userName, password) values (?, ?) , (?, ?) 

若把user.xml中的item.userName改成key,则mybatis会自动把userName的值从0开始自动递增的赋值。

以上便是MyBatis中foreach的例子,欢迎指出不足之处,互相交流,谢谢。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 吃多了反胃想吐怎么办 抽烟胃恶心想吐怎么办 孕妇7个月头疼怎么办 我的世界狗死了怎么办 户户通搜不到台怎么办 两车相撞我全责怎么办 我全责自己的车怎么办 没有我你怎么办 酷我 仿古砖上的水泥怎么办 异界气息的ss怎么办 前夫威胁我我该怎么办 怀孕了不确定孩子是谁的怎么办 怀孕了不是老公的怎么办 吃油了反胃想吐怎么办 微盘又不能用怎么办 人在无助的时候怎么办 当人迷茫的时候怎么办 当你没钱的时候怎么办 最无助的时候能怎么办 心累了怎么办的句子 人的心累了怎么办 心累了怎么办幽默回答 书法印章盖反了怎么办 手机看yy直播卡怎么办 电脑看yy直播卡怎么办 手机yy直播很卡怎么办 dnf打团网络卡怎么办 dnf打团网络冲突怎么办 苹果6s听筒声音小怎么办 手机传话器坏了怎么办 微信不能发语音怎么办 台式电脑声卡坏了怎么办 微信说话声音小怎么办 微信不能语音了怎么办 微信不能发语音怎么办? 苹果6话筒声音小怎么办 微信视频杂音大怎么办 微信语音有杂音怎么办 苹果手机音频坏了怎么办 苹果手机送话器坏了怎么办 苹果7听筒声音大怎么办