Mybatis插入数据返回主键ID
<insert id="add" parameterType="com.dsa.core.base.model.ProductSync">
insert into tm_sync_product(
<if test="productId!=null">product_id,</if>
<if test="mainLimit!=null">main_limit,</if>
<if test="productName!=null">product_name,</if>
<if test="productBrand!=null">product_brand,</if>
<if test="profitType!=null">profit_type,</if>
<if test="deadLine!=null">dead_line,</if>
<if test="productStartDay!=null">product_start_day,</if>
<if test="productEndDay!=null">product_end_day,</if>
<if test="buyStartDay!=null">buy_start_day,</if>
<if test="buyEndDay!=null">buy_end_day,</if>
<if test="riskRank!=null">risk_rank,</if>
<if test="redeemFlg!=null">redeem_flg,</if>
<if test="productStatus!=null">product_status,</if>
<if test="startAmount!=null">start_amount,</if>
<if test="addAmount!=null">add_amount,</if>
<if test="yearRate!=null">year_rate,</if>
<if test="productNote!=null">product_note,</if>
<if test="otherBankBuy!=null">other_bank_buy,</if>
<if test="otherBankAmt!=null">other_bank_amt,</if>
<if test="rateVal!=null">rate_val,</if>
<if test="recordFlg!=null">record_flg</if>
) values (
<if test="productId!=null">#{productId},</if>
<if test="mainLimit!=null">#{mainLimit},</if>
<if test="productName!=null">#{productName},</if>
<if test="productBrand!=null">#{productBrand},</if>
<if test="profitType!=null">#{profitType},</if>
<if test="deadLine!=null">#{deadLine},</if>
<if test="productStartDay!=null">#{productStartDay},</if>
<if test="productEndDay!=null">#{productEndDay},</if>
<if test="buyStartDay!=null">#{buyStartDay},</if>
<if test="buyEndDay!=null">#{buyEndDay},</if>
<if test="riskRank!=null">#{riskRank},</if>
<if test="redeemFlg!=null">#{redeemFlg},</if>
<if test="productStatus!=null">#{productStatus},</if>
<if test="startAmount!=null">#{startAmount},</if>
<if test="addAmount!=null">#{addAmount},</if>
<if test="yearRate!=null">#{yearRate},</if>
<if test="productNote!=null">#{productNote},</if>
<if test="otherBankBuy!=null">#{otherBankBuy},</if>
<if test="otherBankAmt!=null">#{otherBankAmt},</if>
<if test="rateVal!=null">#{rateVal},</if>
<if test="recordFlg!=null">#{recordFlg}</if>
)
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
select last_insert_id() as id
</selectKey>
</insert>
注意:(此处为mysql)这里的selectKey的resultType 必须和实体对象中的id类型一致,否则报错。
oracle的如下:
<selectKey resultType="java.lang.Long" keyProperty="ID" order="AFTER">
SELECT IBOKEE_COMM_TAG_LIBRARY_SEQ.nextval AS Id FROM DUAL
</selectKey>
实体类
public class ProductSync implements Serializable {
private Long id;
...
...
}
dao Mapper
public interface ProductSyncMapper {
/**
* @param product Object
* 新增纪录
*/
public void add(ProductSync product);
}
Mybatis插入数据返回主键ID的更多相关文章
- MyBatis框架——mybatis插入数据返回主键(mysql、oracle)
向数据库中插入数据时,大多数情况都会使用自增列或者UUID做为主键.主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A.B中插入数据(A的主键是 ...
- mybatis插入是返回主键id
<!-- 插入数据:返回记录的id值 --> <insert id="insertOneTest" parameterType="org.chench. ...
- 关于mybatis插入数据库返回主键id
关于Sequence主键的数据库来说,如: <insert id="add" parameterType="vo.Category"> <se ...
- mybatis插入数据返回主键
原来之前一直用错了... keyProperty是表示将返回的主键设置为该方法参数的对应属性中去,而不是用返回值的形式的去获取.
- Mybatis配置插入数据返回主键ID
需要在insert方法中添加 <insert id="insertSelective" parameterType="com.midou.ott.model.MDA ...
- Java MyBatis 插入数据库返回主键
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...
- MyBatis 插入数据库返回主键
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...
- Java MyBatis 插入数据库返回主键--insertSelective这样就不用每次到数据库里面查询了
insertSelective---Java MyBatis 插入数据库返回主键--insertSelective这样就不用每次到数据库里面查询了 https://www.cnblogs.com/xi ...
- myBatis获取批量插入数据的主键id
在myBatis中获取刚刚插入的数据的主键id是比较容易的 , 一般来说下面的一句话就可以搞定了 , 网上也有很多相关资料去查. @Options(useGeneratedKeys = true, k ...
随机推荐
- 一个原生input上传图片记录
html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...
- python字符串基本编码
综述:python中字符串分为字节字符和非字节字符python3中默认输入字符串以非字节字符编码,使用unicode字符集表示,可以使用encode方法转化为ascii,utf-8, utf-16等各 ...
- Tomcat 调优方案
Tomcat的默认配置,性能并不是最优的,我们可以通过优化tomcat以此来提高网站的并发能力.提高Tomcat的性能可以分为两个方向. 服务器资源 服务器所能提供CPU.内存.硬盘的性能对处理能力有 ...
- GPU渲染流水线的简单概括
GPU流水线 主要分为两个阶段:几何阶段和光栅化阶段 几何阶段 顶点着色器 --> 曲面细分着色器(可选)----->几何着色器(可选)----->裁剪-->屏幕 ...
- Window 下mysql binlog开启及查看,mysqlbinlog
查看是否开启了binlog: win+r => cmd => 连接mysql=>show variables like 'log_%'; mysql> show variabl ...
- iOS开发中数据持久化
使用几个小例子分别实现 归档NSKeyedArchiver.NSUserDefaults.plist文件数据存储,简单直观.代码地址
- 前端为什么非要动静分离 说一下CDN托管的意义
大型Web应用对速度的追求并没有止步于仅仅利用浏览器缓存,因为浏览器缓存始终只是为了提升二次访问的速度,对于首次访问的加速,我们需要从网络层面进行优化,最常见的手段就是CDN(Content Deli ...
- sap 内表
内表的目的在ABAP/4中,主要使用表格.表格是R/3系统中的关键数据结构.长期使用的数据存储在关系数据库表格中.关于如何读取和处理数据库表格的详细信息,参见读取并处理数据库表.除了数据库表格,还可以 ...
- 自研网关纳管Spring Cloud(一)
摘要: 本文主要从网关的需求,以及Spring Cloud Zuul的线程模型和源码瓶颈分析结合,目前最近一段时间自研网关中间件纳管Spring Cloud的经验汇总整理. 一.自研网关纳管Sprin ...
- yii批量插入的方法
public function insertSeveral($table, $array_columns) { $sql = ''; $params = array(); $i = 0; foreac ...