mybatis 的 insert
mybatis insert
- 新增数据
<insert id="insert">
insert into sys_user(id,user_name,user_password,user_email,user_info,head_img,create_time)
values(#{id},#{userName},#{userPassword},#{userEmail},#{userInfo},#{headImg},#{createTime})
</insert>
- 新增返回主键
<!-- useGeneratedKeys 设置为true之后,mybatis会使用JDBC的getGeneratedKeys 方法取出来由数据库内部生成的主键。
获得到主键后将其赋值给keyProperty配置的id属性。当需要设置多个属性时,使用逗号隔开,这种情况下通常还需要设置
keyColumn属性,按顺序指定数据库的列,这里列的值会和keyProperty配置的属性一一对应。由于要使用数据库返回的主键值,
所以SQL上下两部分的列中去掉了id列和对应的#{id}列 -->直接从对象属性中获取id<insert id="insert2" useGeneratedKeys="true" keyProperty="id">insert into sys_user(id,user_name,user_password,user_email,user_info,head_img,create_time)values(#{id},#{userName},#{userPassword},#{userEmail},#{userInfo},#{headImg, jdbcType=BLOB},#{createTime,jdbcType=TIMESTAMP}
)
</insert>
- 获取主键
mysql:
<selectKey keyColumn="id" resultType="Long" keyProperty="id" order="AFTER">
select last_insert_id()
</selectKey>oracle:
<selectKey keyColumn="id" resultType="Long" keyProperty="id" order="BEFORE">
select SEQ_ID.nextval from dual
</selectKey>sqlserver:
select scope_identity()<insert id="insert3">
insert into sys_user(id,user_name,user_password,user_email,user_info,head_img,create_time)
values(#{id},#{userName},#{userPassword},#{userEmail},#{userInfo},#{headImg, jdbcType=BLOB},#{createTime,jdbcType=TIMESTAMP})<selectKey keyColumn="id" resultType="Long" keyProperty="id" order="AFTER">select last_insert_id()</selectKey>
</insert>
- 注解@Insert
@Insert({ "insert into sys_role(id,role_name,enabled,create_by,create_time)"
+ "values(#{id},#{roleName},#{enabled},#{createBy},#{createTime})" })
void insert1(SysRole sysRole);
- 返回自增主键
@Insert({ "insert into sys_role(role_name,enabled,create_by,create_time)"+ "values(#{roleName},#{enabled},#{createBy},#{createTime})" })
@Options(useGeneratedKeys=true,keyProperty="id")void insert2(SysRole sysRole);
- 返回非自增主键
@Insert({ "insert into sys_role(role_name,enabled,create_by,create_time)"+ "values(#{roleName},#{enabled},#{createBy},#{createTime})" })@SelectKey(statement = "select last_insert_id()",keyProperty = "id",resultType = Long.class,before = false
)
void insert3(SysRole sysRole);
mybatis 的 insert相关推荐
- mybatis+postgresql+insert返回主键,action,service侧
mybatis+postgresql+insert返回主键,action,service侧 在网上找了很久主要的内容如下: <insert id="insertDynaVisitInf ...
- Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1
记录一次傻逼的问题, 自己把自己蠢哭:Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1 错误说明: 返回的1是影响的行数,并不是自增的主键id: 想要获取自增主键id,需要 ...
- 做工作流时候 Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1
Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1 错误说明: 返回的1是影响的行数,并不是自增的主键id: 想要获取自增主键id,需要通过xx.getId()方法获取,因为 ...
- 诡异!MyBatis的Insert方法一直返回-2147482646?
作者 | 占小狼的博客 来源 | https://mp.weixin.qq.com/s/iV6BwQkjTXCvfrAwgj2V4w 前几天在做项目demo的时候,发现有一个很奇怪的现象,就是MyBa ...
- MyBatis在insert插入操作时返回主键ID的配置
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:如果业务层需要得到记录的主键时,可以通过Mapper.XML配置的方式来完成这个功能. 在 INSER ...
- mybatis postgresql insert后返回自增id
在使用mybatis + postgresql,我们有时在插入数据时需要返回自增id的值,此时在插入时,可以按照以下例子来编写mapper文件 <insert id="insertUs ...
- mybatis 大量insert 出现sql io 异常_Java自学之mybatis:使用注解方式实现CURD
学习目的:在使用配置文件实现CURD的基础上,学会使用注解方式实现CURD. Part 1 新建一个Mapper,在相应的增删改查的方法上添加相应的注释以及SQL语句.与普通方法相比,就是讲普通方法中 ...
- mybatis的insert语句获取自增id的方法(mySQL)
前提是数据库表里已经把id字段设置成了自增的 javabean的定义是这样的: package test;import java.util.Date;public class Express {pri ...
- Mybatis实现insert获取自增id
先说明我用的是MySQL,其他的没使用过,也帮不上了~~ 首先要先解决思维误区吧,我在搜索了一些资料之后以为写一个这样的xml <insert id="insertNoticeMess ...
最新文章
- ELK 性能优化实践
- 到底是先更新数据库还是先更新缓存?
- HTTP长连接和短连接 + Websocket
- iis7.5 php7.0,(原创)win7自带IIS7.5+php7.0.10安装教程(图)
- mysql解压版怎么退出_mysql-8.0.15-winx64 解压版安装教程及退出的三种方式
- MySQL学习(十五)
- 什么是SCRUM敏捷开发
- python怎么输入列表元素每个元素占一行_如何对列表的每个元素执行操作并将结果放在Python的新列表中?...
- python视频提取关键帧_一种视频关键帧提取算法的制作方法
- Java SE 9:不可变Map和Map.Entry的工厂方法
- dialog能提交数据吗_硬盘坏了能恢复数据吗?实用硬盘修复软件
- java类 (二):内部类
- Linux文件系统(七)---系统调用之open操作(二) 之 get_unused_fd
- c语言中引用sqrt需要cmath嘛,c语言根号(c语言中根号怎么输入)
- 计算机网络ip地址计算广播地址,ip地址计算与子网划分的方法讲解
- JUC并发编程基石AQS源码之结构篇-ReentrantLock
- 人事部门用计算机管理人事档案,计算机在人事管理中的运用分析
- [OpenGL] 视图矩阵(View)矩阵与glm::lookAt函数源码解析
- 智慧农业SaaS系统
- 计算机无法连接打印机主机,电脑主机连不上网络打印机
热门文章
- linux集群 disf,测试方法---SFDIPOT
- java gif 帧_修复Java中动画gif的帧频
- 违禁词过滤器 DFA算法升级版
- PostgreSQL Java 开发者手册
- python获取字典长度_Python中的字典
- django项目 html报表和excel报表写入并通过邮件发送到outlook和QQ邮箱
- 高考失利只能进清华,35岁成阿里最年轻技术副总裁,他来自另一个平行世界!...
- BERT微调做中文文本分类
- Visual Basic开发实战1200例(第Ⅱ卷)pdf
- 小码农也有大梦想!javaweb编程技术微课版答案