MyBatis——insert语句
1. 在商家后台实现录入功能,包括商品名称,副标题,价格,包装列表,售后服务
分析:商品名称,副标题,价格在tb_goods表里,包装列表,售后服务在tb_goods_desc表里。tb_goods_desc表中的主键goods_id引用tb_goods表中的主键
。
应用MyBatis,在MyBatis的映射文件TbGoodsMapper.xml
中<insert>
中加入<selectKey>
,在执行insert
语句之后就先把插入的id
值查询出来。
<insert id="insert" parameterType="com.pinyougou.pojo.TbGoods" ><selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">select LAST_INSERT_ID() AS id</selectKey>insert into tb_goods (id, seller_id, goods_name, default_item_id, audit_status, is_marketable, brand_id, caption, category1_id, category2_id, category3_id, small_pic, price, type_template_id, is_enable_spec, is_delete)values (#{id,jdbcType=BIGINT}, #{sellerId,jdbcType=VARCHAR}, #{goodsName,jdbcType=VARCHAR}, #{defaultItemId,jdbcType=BIGINT}, #{auditStatus,jdbcType=VARCHAR}, #{isMarketable,jdbcType=VARCHAR}, #{brandId,jdbcType=BIGINT}, #{caption,jdbcType=VARCHAR}, #{category1Id,jdbcType=BIGINT}, #{category2Id,jdbcType=BIGINT}, #{category3Id,jdbcType=BIGINT}, #{smallPic,jdbcType=VARCHAR}, #{price,jdbcType=DECIMAL}, #{typeTemplateId,jdbcType=BIGINT}, #{isEnableSpec,jdbcType=VARCHAR}, #{isDelete,jdbcType=VARCHAR})
</insert>
总体解释:将插入数据的主键返回到 TbGoods对象中。
具体解释:
select LAST_INSERT_ID()
:得到刚 insert 进去记录的主键值,只适用与自增主键
keyProperty
:将查询到主键值设置到 parameterType 指定的对象的那个属性
order
:select LAST_INSERT_ID()
执行顺序,相对于 insert 语句来说它的执行顺序
resultType
:指定 select LAST_INSERT_ID()
的结果类型
MyBatis——insert语句相关推荐
- MyBatis—insert语句返回主键和selectKey标签
本文已同步至个人博客liaosi's blog - MyBatis-insert语句返回主键和selectKey标签 往数据库中插入一条记录后,有时候我们需要这条记录的主键,用于后续的操作.如果在插入 ...
- Mybatis insert返回主键ID
Mybatis insert语句书写insert id= "insertSelective" useGeneratedKeys= "true" keyPr ...
- mybatis insert 忽略 联合唯一索引_MySQL实战中,Insert语句的使用心得总结
提到MySQL的Insert语句,你肯定不陌生,或许已经张口就来:不就是insert into table values(xxx,xxx,xxx)嘛!没错,但在实战中,根据不同的需求场景,插入操作在语 ...
- mybatis 添加语句返回对象_mybatis的insert语句插入数据时的返回值的实现
mybatis的insert语句插入数据时的返回值的实现,语句,返回值,那条,都是,站长站 mybatis的insert语句插入数据时的返回值的实现 易采站长站,站长之家为您整理了mybatis的in ...
- mybatis 新增语句_mybatis的insert语句参数说明以及部分操作方法
mybatis的insert语句参数说明以及部分操作方法 数据库操作一般情况都是少不了insert语句的,下面介绍了通过mybatis操作insert语句的部分常用内容: 一.insert属性 其属性 ...
- 160613、MyBatis insert操作返回主键
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能,针对Sequence主键而言,在执行 ...
- mybatis insert 返回主键_面试准备季——MyBatis 面试专题(含答案)
话不多说,直接上题-- 1.什么是 Mybatis? (1)Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱 ...
- MyBatis——insert并返回主键ID解决方案
问题描述 添加记录后获取主键ID,这是一个很常见的需求,特别是在一次前端调用中需要插入多个表的场景. 除了添加单条记录时获取主键值,有时候可能需要获取批量添加记录时各记录的主键值. 问题分析 暂无. ...
- 将insert语句转化为select语句,进行校验,验证是否插入成功
前言 公司的测试和运维不太懂sql,每次将sql文件交给他们到测试或者生产数据库中执行sql的时候,他们都是全部执行,不看是否执行成功.因此,就会导致有些insert语句没有执行成功,等到功能验证 ...
最新文章
- 太扎心!人艰不拆!16 个程序员专属笑话讲给你听
- Crawler之Scrapy:Python实现scrapy框架爬虫两个网址下载网页内容信息
- js中onload和jQuery中的ready区别
- Oracle 临时表解决ORA-22992问题
- Servlet - Upload、Download、Async、动态注册
- 品牌管理-JSR303数据校验
- 写在2021: 值得关注/学习的前端框架和工具库
- Tiny之Web工程构建
- 学习c#不容错过的网站
- 数组reduce()方法
- 汇编语言王爽实验十三
- uva 11137 Ingenuous Cubrency
- 操作系统中的进程调度策略有哪几种
- python新年倒计时代码
- 计算机无法读取手机内存,手机内存卡不能读取如何解决
- 01.JS基础_前端的语法(4)
- PCB 多层板为什么都是偶数层?
- 大数据Flink(十四):流批一体API Connectors JDBC
- 阿里云跨界合作芒果TV看明星也用云计算
- 抖音巨量千川该怎么投?千万级展现的千川计划该怎么搭建?