唯能极于情,故能极于剑

文:MyBatis通过注解方式批量添加、修改、删除
注:有空看看小编:CodeCow · 程序牛 的个人技术博客吧:http://www.codecow.cn/
      《 绳锯木断,水滴石穿  —— 多坚持 》

一、数据库实体DO

 public class User implements Serializable {
private Long  id; //用户ID
private String name; //用户姓名
private Integer age; //用户年龄
.......
}

二、数据库操作

  2.1、批量插入用户

     @Insert("<script>"  +
"insert into user(id, name, age) VALUES " +
"<foreach collection='list' item='item' index='index' separator=','> " +
"(#{item.id},#{item.name},#{item.age}) " +
"</foreach>" +
"</script>")
void batchInsert(@Param("list")List<User> list); //批量添加用户

  2.2、批量修改用户

     @Update({"<script>"  +
"<foreach collection='list' item='item' index='index' open='(' separator=',' close=')'> " +
"update user set name= #{item.name}, age= #{item.age} " +
"where id = #{item.id} " +
"</foreach>" +
"</script>"})
void batchUpdate(@Param("list")List<User> list);//批量修改用户

  2.3、批量删除用户

     @Delete("<script>"  +
"delete from user where id in " +
"<foreach collection='array' item='id' open='('separator=',' close=')'> " +
"#{id}" +
"</foreach>" +
"</script>")
void batchDelete(long[] ids);//批量删除用户 //☆☆☆ 如何获取 long[] ids ???
//1、获取要删除用户的集合
List<User> user = userMapper.selectAll();//用的是tk.mybatis下获取所有用户
//2、根据集合获取 long[] ids
//朋友,如果你还在用遍历、创建数组等 SAO 操作.....你 OUT 了
//让我们看看jdk8的stream流是怎么搞的:
List<Long> idList = user.stream.map(User::getId).collect(Collectors.toList());//获取id集合
long[] ids = idList.stream.mapToLong(i -> i).toArray();// 获的long[] ids 就两步就实现了(其实就一步),它不香吗???

才疏学浅,有问题请及时关注小编公众号 “CodeCow”,大家一起学习交流
绳锯木断,水滴石穿 坚持
2020/04/13 早

MyBatis通过注解方式批量添加、修改、删除的更多相关文章

  1. EF 批量 添加 修改 删除

    1批量添加    db.T_Investigator.AddRange(list) 2批量删除    db.T_Investigator.RemoveRange(list) 3批量修改   for 循 ...

  2. Windows批量添加和删除IP

    随着天气变冷了,好多小伙伴都开始变懒了,都想用最快的方式完成任务 下面给大家介绍一下Windows批量添加和删除IP的办法 (1)批量添加IP 直接在CMD下边运行下边命令. for /l %i in ...

  3. ASP.NET MVC用存储过程批量添加修改数据

    用Entity Framework 进行数据库交互,在代码里直接用lamda表达式和linq对数据库操作,中间为程序员省去了数据库访问的代码时间,程序员直接可以专注业务逻辑层的编写.但是对于比较复杂的 ...

  4. SpringBoot入门教程(四)MyBatis generator 注解方式和xml方式

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...

  5. SpringBoot定时任务升级篇(动态添加修改删除定时任务)

    需求缘起:在发布了<Spring Boot定时任务升级篇>之后得到不少反馈,其中有一个反馈就是如何动态添加修改删除定时任务?那么我们一起看看具体怎么实现,先看下本节大纲: (1)思路说明: ...

  6. JavaWeb_day03_员工信息添加修改删除

    day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...

  7. Web 1三级联动 下拉框 2添加修改删除 弹框

    Web  三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...

  8. 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

    第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...

  9. 【转】C#添加修改删除文件文件夹大全

    [转]C#添加修改删除文件文件夹大全 C#添加修改删除文件文件夹大全 StreamWriter sw = File.AppendText(Server.MapPath(".")+& ...

随机推荐

  1. 在CentOS 7中安装配置JDK8

    为什么80%的码农都做不了架构师?>>>   ###说明 参考博客:http://blog.csdn.net/czmchen/article/details/41047187 系统环 ...

  2. Android控件重叠显示小记

    方案一 利用布局控件显示优先级 在xml中RelativeLayout,FrameLayout,靠后的控件显示在上层. 利用margin属性 margin属性可以控制控件间的距离,属性值为正值时,越大 ...

  3. Web框架,Hibernate向数据库插入数据,数据库没有值怎么办?

    用web框架技术,使用Hibernate向数据库添加信息,控制台显示插入成功的语句,可是数据库却没有值:错误如下: (1)不要自己创建数据库!!,Web框架可以自己自动生成,自己创建可能会报错! (2 ...

  4. A - ACM Computer Factory POJ - 3436 网络流

    A - ACM Computer Factory POJ - 3436 As you know, all the computers used for ACM contests must be ide ...

  5. vue将后台的值赋给前台

    后台传List到前台: 赋值给table 赋值给form(只能一个个的赋值,对应prop属性) 后台传map到前台:(不需要使用下标取值)

  6. oracle如何实现去重和分页

    一:oracle实现去重: user数据表: 分两步:1.查询重复数据  2.删除重复数据 1.查询重复数据:在oracle中实现查询重复数据,可以借助于rowid这个伪列.oracle中每个表物理上 ...

  7. Day_09【常用API】扩展案例6_将用户给定的字符串首个字符大写,并分别加上"set"和"get"输出

    定义如下方法public static String getPropertyGetMethodName(String property) (1)该方法的参数为String类型,表示用户给定的成员变量的 ...

  8. 构建自己的专用OpenCV----记录一次由applyColorMap()引发的探索

    在编写实际项目的过程中,我需要实现绿色主题的"伪彩色"变换.在目前提供的模板中,只有summer最为接近,但是它的颜色太浅了,看上去不是很清晰.所以我结合ocean和summer两 ...

  9. [hdu4292]最大流,拆点

    题意:给定每个人所喜欢的食物和饮料种类以及每种食物和饮料的数量,一个人需要一种食物和一种饮料(数量为1即可),问最多满足多少人的需要 思路:由于食物和饮料对于人来说需要同时满足,它们是“与”的关系,所 ...

  10. mysql 库表整体相关查询

    select table_schema,table_name from information_schema.columns where column_name = '字段名'; 查询某张表有几条记录 ...