遍历 对象数组 的方式
想要通过 Mybatis 动态 sql 实现,批量添加 数据进入数据库时,Dao接口参数设置为实体类型数组,Mapper 的对应方法使用 forEach 标签遍历此数组。
dao 接口的方法:
/** * 批量插入 * @param goods 货物数组 * @return 影响行数 */ int bulkInsert(Good[] goods);接口中接受的参数是 对象类型的数组
mapper 文件对应的 SQL :
<insert id="bulkInsert"> insert into good(goodname, size, number, userid, department, writingdate, orderid) VALUES <foreach collection="array" open="(" separator="),(" close=")" item="good"> #{good.goodname},#{good.size},#{good.number},#{good.userid},#{good.department},#{good.writingdate},#{good.orderid} </foreach> </insert>forEach 的参数设置:
collection = 正在遍历的参数类型 array 是数组类型 open = 循环以什么开始 separator = 间隔符 ,每次循环结果通过此间隔符间隔开 close = 循环结束时以什么结束 item = 每次遍历从 array 中获得的的临时参数 相当于 “ 变量[0],变量[1],变量[2],变量[3] ” index = 遍历的索引 , 类似 for 循环中自定义的自增变量 i,这个变量会随着循环自增这里用到 临时变量 . 属性名 的方式获取参数值。
返回 int 影响行数