转发:
http://www.java265.com/JavaFramework/MyBatis/202205/3540.html
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)
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录
下文笔者讲述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(); }