前言

  • mybatis
  • mysql

插入操作更新id的方式

  • 先生成id,后执行插入SQL
  • 先执行插入SQL,后获取id

先生成id,后执行插入SQL

  <insert id="insert" parameterType="xxx.entity.Opration" ><selectKey resultType="java.lang.String" keyProperty="id" order="BEFORE" >SELECT uuid() as id</selectKey>insert into opration (`id`, `appid`, `deviceid`, `day`, `duration`, `duration_max`, `slipTimes`, `signIn`, `error`, `create_time`)values (#{id,jdbcType=VARCHAR}, #{appid,jdbcType=INTEGER}, #{deviceid,jdbcType=INTEGER}, #{day,jdbcType=VARCHAR}, #{duration,jdbcType=INTEGER}, #{durationMax,jdbcType=INTEGER}, #{sliptimes,jdbcType=INTEGER}, #{signin,jdbcType=INTEGER}, #{error,jdbcType=INTEGER}, #{createTime,jdbcType=BIGINT})</insert>

先执行插入SQL,后获取id

  <insert id="insert" parameterType="xxx.entity.Opration" useGeneratedKeys="true" keyProperty="id" keyColumn="id">insert into opration (`appid`, `deviceid`, `day`, `duration`, `duration_max`, `slipTimes`, `signIn`, `error`, `create_time`)values (#{appid,jdbcType=INTEGER}, #{deviceid,jdbcType=INTEGER}, #{day,jdbcType=VARCHAR}, #{duration,jdbcType=INTEGER}, #{durationMax,jdbcType=INTEGER}, #{sliptimes,jdbcType=INTEGER}, #{signin,jdbcType=INTEGER}, #{error,jdbcType=INTEGER}, #{createTime,jdbcType=BIGINT})</insert>

或者

  <insert id="insert" parameterType="xxx.entity.Opration" ><selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >SELECT SCOPE_IDENTITY() as id</selectKey>insert into opration (`appid`, `deviceid`, `day`, `duration`, `duration_max`, `slipTimes`, `signIn`, `error`, `create_time`)values (#{appid,jdbcType=INTEGER}, #{deviceid,jdbcType=INTEGER}, #{day,jdbcType=VARCHAR}, #{duration,jdbcType=INTEGER}, #{durationMax,jdbcType=INTEGER}, #{sliptimes,jdbcType=INTEGER}, #{signin,jdbcType=INTEGER}, #{error,jdbcType=INTEGER}, #{createTime,jdbcType=BIGINT})</insert>

【mybatis】插入操作更新id相关推荐

  1. mybatis插入或更新语句返回自增逐渐id

    因为公司的表用的是自增id,而不是UUID,所以在好多时候都需要返回新插入的数据的id,所以在网上搜了一些方法,大部分都是用的xml方式来写的sql,不过本人是用的注解方式,方法比较少,所以写这篇文章 ...

  2. Mybatis插入数据

    对上文->Mybatis快速入门-<进行代码修改 1.在UserMapper.xml中添加插入操作 <!-- 插入操作--><insert id="save&q ...

  3. MyBatis在insert插入操作时返回主键ID

    数据库为MySql时:  <insert id="insert" parameterType="com.test.User" keyProperty=&q ...

  4. 【MyBatis笔记】04-插入操作更新操作删除操作

    保存更新删除 插入操作 获取插入的最后一个id 更新操作 删除操作 查询操作在之前的笔记中~ 插入操作 映射文件 Customer.xml : 插入数据的标签为 insert,与查询 select 区 ...

  5. mybatis mysql 批量更新_mysql批量update更新,mybatis中批量更新操作

    在日常开发中,有时候会遇到批量更新操作,这时候最普通的写法就是循环遍历,然后一条一条地进行update操作.但是不管是在服务端进行遍历,还是在sql代码中进行遍历,都很耗费资源,而且性能比较差,容易造 ...

  6. mysql新增,更新,批量插入操作

    mysql新增和更新操作 一.Insert的几种语法 例子: CREATE TABLE `users` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` ...

  7. 对Excel表的查询、插入和更新操作

    为什么80%的码农都做不了架构师?>>>    本代码主要实现对Excel表的查询.插入和更新操作,而特别指出:Excel表的删除语句操作不支持,只能用更新来替代. using Un ...

  8. Mybatis之批量更新操作

    2019独角兽企业重金招聘Python工程师标准>>> Mybatis之批量更新操作 更新单条记录 1 UPDATE course SET name = 'course1' WHER ...

  9. Mysql创建触发器实现不同表的插入、更新、删除操作

    说明:Mysql5.0以上的版本才支持下面的操作. Mysql 触发器的插入.更新.删除操作. 在这里建了两个表:其中这两个表的结构不一样,这里给表admin建立触发器 在对表admin操作的同时,触 ...

最新文章

  1. Symfony常用指令(收藏版)
  2. c语言解析json数据
  3. 10.13 nc:多功能网络工具
  4. 应用系统集群解决方案
  5. 怎么调试内存溢出的c++代码_【C/C++】内存对齐 到底怎么回事?
  6. Javascript中函数声明与函数表达式的不同
  7. PowerDesigner使用教程 —— 概念数据模型 (转)
  8. wxpython界面切换_wxpython中的图形用户界面
  9. java hashtable 修改_Java Hashtable computeIfAbsent()用法及代码示例
  10. iview中position: 'fixed'最顶层z-index
  11. java的代码大全_java代码大全
  12. 由入门C语言题目浅析gets()函数的用法
  13. 32位汇编(1) - masm32环境配置
  14. 商务与经济统计 --假设检验
  15. 大数据告诉你,从北大青鸟毕业的学生未来发展到底怎么样?
  16. 帐户当前被锁定,所以用户 sa 登录失败。系统管理员无法将该帐户解锁 解决方法
  17. Web—13-判断网站请求来自手机还是pc浏览器
  18. Playable Director (TimeLine) 3D游戏的开场动画制作
  19. 客户成功团队的 OKR 案例
  20. 班级日常工作管理系统

热门文章

  1. [转]论SOA架构的几种主要开发方式
  2. 智能可穿戴平台,你更看好谁?
  3. 《cocos2d-x手机游戏开发实战》直播课程第一期介绍
  4. Python xlrd 读取xls文件
  5. Codeforces Round #220 (Div. 2)
  6. 理解并取证:DLS网络架构和PPPOE数据帧
  7. 收到postmaster附件被删除的退信
  8. 如何识别真正的程序员
  9. 写代码的16个好习惯,减少80%的bug
  10. Django 多数据库联用(看着不错还有源码可以下载)