当前位置: 首页 > news >正文

新网网站空间独立控制面板郑州网站关键词优化外包

新网网站空间独立控制面板,郑州网站关键词优化外包,网站建设 上,软文推广公司有哪些场景:一张用户表user,此时我需要批量新增用户,如果用户已经存在了,则更新该条记录;如果用户不存在,则插入一条数据。 痛点:常规做法新增更新各写一个接口。而且是批量操作,比较繁琐&…

场景:一张用户表user,此时我需要批量新增用户,如果用户已经存在了,则更新该条记录;如果用户不存在,则插入一条数据。
痛点:常规做法新增更新各写一个接口。而且是批量操作,比较繁琐,容易出错。不优雅。
改进:mysql支持ON DUPLICATE KEY UPDATE的写法,这种做法可以优雅处理批量更新和插入。

在MYSQL中,使用INSERT INTO … ON DUPLICATE KEY UPDATE语句来在插入或更新数据时,利用唯一索引,来更新其他字段。

举例,user表:

字段含义
id主键
work_number工号,唯一索引
address地址
phone电话
birthday生日

在批量新增员工信息的时候,id自增,工号是唯一的,不允许重复。当work_number不存在的时候,希望在user表中插入一条新纪录;反之work_number存在的时候,对该条记录更新其它属性(address、phone、birthday)。

INSERT INTO user (work_number, address, phone, birthday)
VALUES ('10001', '员工宿舍101', '15708181900', '2002-5-13')
ON DUPLICATE KEY UPDATE 
address VALUES(address), 
phone VALUES(phone), 
birthday VALUES(birthday)

在这个示例中,我们省略了 id 字段,因为它是自增的,数据库会自动为新插入的记录生成一个唯一的 id 值。我们只需提供除 id 之外的字段值,并利用唯一索引work_number来检查是否存在匹配记录。如果匹配到现有记录,就会执行 ON DUPLICATE KEY UPDATE 部分,更新其他字段的值。

如果你需要进行批量插入,聪明的你一定能想到使用MyBatis提供的foreach标签。

INSERT INTO user (work_number, address, phone, birthday)
VALUES<foreach item="item" index="index" collection="list" separator=",">(#{item.work_number},#{item.address},#{item.phone},#{item.birthday})</foreach>
ON DUPLICATE KEY UPDATE 
address VALUES(address), 
phone VALUES(phone), 
birthday VALUES(birthday)

再举一个例子,如果我们新增一个部门属性department_number,然后唯一索引变成唯一组合索引(department_number, work_number),此时sql应该变成什么样了呢?
user表新增部门属性:

字段含义
id主键
deparment_number部门号,唯一组合索引(deparment_number,work_number )
work_number工号
address地址
phone电话
birthday生日
INSERT INTO user (department_number, work_number, address, phone, birthday)
VALUES ('001', '10001', '员工宿舍101', '15708181900', '2002-5-13')
ON DUPLICATE KEY UPDATE 
address VALUES(address), 
phone VALUES(phone), 
birthday VALUES(birthday)

在该示例中,我们省略了 id 字段,因为它是自增的,数据库会自动为新插入的记录生成一个唯一的 id 值。我们只需提供除 id 之外的字段值,并利用唯一组合索引department_number,work_number来检查是否存在匹配记录。如果匹配到现有记录,就会执行 ON DUPLICATE KEY UPDATE 部分,更新其他字段的值。

批量的和上面批量例子相同,大家可以参照。

在service层的逻辑就变成了简单地把待插入的数据集合传到mapper,然后通过sql去插入或者更新,可谓是非常优雅了。

http://www.tj-hxxt.cn/news/83585.html

相关文章:

  • 同城信息网站建设广州seo顾问服务
  • 佛山网站开发seo数据是什么
  • 做网站的人属于什么行业怎样才能在百度上面做广告宣传
  • 政府网站建设方案范文 工作方案东莞seo优化团队
  • 企业建设网站的必要性百度收录网站入口
  • 太仓做网站的代运营公司
  • 优质的网站2020做seo还有出路吗
  • 做网站开发需要什么seo全网营销
  • 重庆百度关键词推广seo sem
  • 广州市手机网站建设网站设计公司报价
  • 最简单的网站设计营销推广方案包括哪些内容
  • 如何做强企业网站seo是什么缩写
  • 做外包网站摘要百度搜索排行榜前十名
  • 哪个网站做农产品搜狗站长平台
  • 网站内页不收录官方进一步优化
  • 网站开发学什么专业计算机编程培训学校哪家好
  • 注册公司需要哪些条件windows优化大师有什么功能
  • 微信公众平台 网站 对接如何注册属于自己的网站
  • 深圳网站制作网站建设线下推广渠道有哪些方式
  • 电子商务网站建设实验心得seo是哪里
  • 深圳做网站的网广州各区最新动态
  • 中国风网站模板htmlb站推广有用吗
  • 建设银行湖北省分行 网站数据分析软件哪个最好用
  • 某集团中英文双语网站源码服务之家网站推广
  • 怎样在浏览器上找网站seo关键词排名优化教程
  • 个人 中小企业公司网站建设方案大数据推广公司
  • 国际空间站vs中国空间站谷歌商店官网
  • 亳州做网站的公司品牌型网站制作价格
  • wordpress wdone破解台州百度推广优化
  • 为什么做网站都用php常见的推广方式有哪些