170515、mybatis批量操作
//Java代码
public void batchAdd(){
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
StudentMappper mapper = sqlSession.getMapper(StudentMappper.class);
List<Student> list = new ArrayList<Student>();
Student student1 = new Student();
student1.setName("新增" + new Random().nextInt(10));
student1.setAge(16);
Student student2 = new Student();
student2.setName("新增" + new Random().nextInt(10));
student2.setAge(16);
list.add(student1);
list.add(student2);
int result = mapper.batchAdd(list);
sqlSession.commit();
if (result > 0) {
System.out.println("----------batchAdd success-----");
} else {
System.out.println("----------batchAdd fail---------");
}
}
<!-- 批量新增 -->
<insert id="batchAdd" parameterType="java.util.List" useGeneratedKeys="true" >
<selectKey resultType="int" keyProperty="id" order="AFTER">
select LAST_INSERT_ID()
</selectKey>
insert into t_student (name,age)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.name},${item.age})
</foreach>
</insert>
//Java代码
public void batchDelList(){
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
StudentMappper mapper = sqlSession.getMapper(StudentMappper.class);
List<Integer> list = new ArrayList<Integer>();
list.add(23);
list.add(24);
int result = mapper.batchDelStr(list);
sqlSession.commit();
if (result > 0) {
System.out.println("----------batchDel success-----");
} else {
System.out.println("----------batchDel fail---------");
}
}
<!-- 批量删除-list -->
<delete id="batchDelStr" parameterType="java.util.List">
delete from t_student
where id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</delete>
//Java代码
public void batchDelArray(){
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
StudentMappper mapper = sqlSession.getMapper(StudentMappper.class);
int[] ids = new int[]{27,28};
int result = mapper.batchDelArrays(ids);
sqlSession.commit();
if (result > 0) {
System.out.println("----------batchDel success-----");
} else {
System.out.println("----------batchDel fail---------");
}
}
<!-- 批量删除-array -->
<delete id="batchDelArrays" parameterType="int">
delete from t_student
where id in
<foreach collection="array" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</delete>
170515、mybatis批量操作的更多相关文章
- mybatis批量操作-xml方式
在实际项目中,我们一般都会用到批量insert.delete.update等操作,由于使用频率还是蛮高的,这里就做个简单的记录,供以后学习和参考. 批量insert 在数据库中,批量插入可以是多条in ...
- Mybatis 批量操作-删除、修改和查询
批量操作的核心就是一次传入多个数据然后进行相关操作,增删改查中掌握其中一个,其它的就可以举一反三,触类旁通.它之所以执行效率高,是因为合并后日志量(MySQL的binlog和InnoDB的 ...
- MyBatis 批量操作、集合遍历-foreach
在使用mybatis操作数据库时,经常会使用到批量插入.IN条件查询的情况,这时就难免要使用到foreach元素.下面一段话摘自mybatis官网: foreach 元素的功能是非常强大的,它允许你指 ...
- MyBatis批量操作报错:Parameter 'xxxList' not found. Available parameters are [list]
问题背景: 在Dao中使用MyBatis进行查询操作,参数是传的一个List:studentNameList,但是在执行查询的时候报错,具体日志如下: com.chenzhou.base.mybati ...
- mybatis 批量操作增删改查
在介绍批量操作之前,首先先介绍一个语法:foreach.可以说是,foreach是整个批量操作的灵魂. 属性 描述 item 循环体中的具体对象. 支持属性的点路径访问,如item.age,item. ...
- mybatis 批量操作 ------持续更新
mybatis 不存在则才进行添加 # 添加的 sql 语句insert into sys_link_post_user(post_id,user_id)# 进行批量添加 (若不需要可以取消 froe ...
- (七)mybatis批量操作,分页插件
首先使用方式很简单: SqlSession sqlSession = sessionFactory.openSession(ExecutorType.BATCH); 批量操作核心:改变执行sql的方式 ...
- on duplicate key update 的用法说明(解决批量操作数据,有就更新,没有就新增)mybatis批量操作数据更新和添加
项目用的ORM框架是用springdatajpa来做的,有些批量数据操作的话,用这个效率太低,所以用mybatis自己写sql优化一下. 一般情况,我们肯定是先查询,有就修改,没有就添加,这样的话,单 ...
- Mybatis批量操作
首先,mysql需要数据库连接配置&allowMultiQueries=true jdbc:mysql://127.0.0.1:3306/mybank?useUnicode=true& ...
随机推荐
- Spring bean的初始化及销毁
Spring bean的几个属性:scope.init-method.destroy-method.depends-on等. Scope 在Spring容器中是指其创建的Bean对象相对于其他Bean ...
- WaitForSingleObject()
参见:http://blog.csdn.net/xiaobai1593/article/details/6672193 1. 格式 DWORD WaitForSingleObject( HANDLE ...
- e662. 取的图像的色彩模型
// This method returns the color model of an image public static ColorModel getColorModel(Image imag ...
- e1086. if/else语句
The if statement encloses some code which is executed only if a condition is true. The general synta ...
- C# 发邮件 服务器响应为: 5.7.0 Must issue a STARTTLS command first
The SMTP server requires a secure connection or the client was not authenticated. The server respons ...
- eclipse集成Python开发环境
话说近期听说 Python 非常牛, 非常强大, 至于到底有多强大, 俺作为一枚菜鸟也就不好发表太多评价. 言归正传, 本文教你在eclipse中安装 Python 插件, 以下我们就跟着步骤一起做吧 ...
- 未能在当前目标框架中解析主引用“System.Net.Http”,它是一个框架程序集。“.NETFramework,Version=v4.0”。若要解决此问题,请移除引用“System.Net.Http”,或将应用程序的目标重新指向包含“System.Net.Http”的框架版本。 Zephyr.Web
解决方法:升级项目到.net framework 4.5
- .net cs后台刷新aspx页面的四种方式
一:Response.Redirect(Request.Url.ToString()); 二:Response.Write("<script language=javascript&g ...
- 超全面的JavaWeb笔记day02<CSS&JavaScript>
1.CSS的简介 2.CSS概述和与HTML的结合方式(四种)(*******) 3.CSS的基本选择器(******) 4.CSS的扩展选择器(了解) 5.CSS的盒子模型(了解) 6.CSS的布局 ...
- 实例:用类来写一个 memcached 启动脚本
[root@localhost ~]$ yum install -y memcached #!/usr/bin/env python #-*- coding:utf-8 -*- import os i ...