转发:
Mybatis简介:
MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
Mapper简介:
Mapper是Mybatis中sql和实体对象之间映射的描述文件
下文笔者讲述mybatis中foreach用法简介说明,如下所示
mybatis中foreach功能说明: 用于将list集合按照一定的规则,拼接为一个sql脚本 然后放入到数据库中运行
例:mapper文件
<select id="selectInfoIn" resultType="domain.java265.Post">
SELECT *
FROM Post P
WHERE ID in
<foreach item="item" index="index" collection="list"
open="(" separator="," close=")">
#{item}
</foreach>
</select>
这里的collection可以是:array,list,map,set,这里试验一下array:
例2: 一次性删除多个数据
<delete id="deletePost">
delete from t_Post where id in
<foreach collection="array" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</delete>
java代码
SqlSession session=null;
try {
session=myBatisUtil.getSqlSession();
Integer[] ids = new Integer[]{8,10,22,88};
session.delete("deletePost",ids);
session.commit();
} catch (Exception e) {
e.printStackTrace();
session.rollback();
}finally{
session.close();
}