1:sql中需要添加属性 keyColumn="base_price_id" keyProperty="basePriceId" useGeneratedKeys="true"

<insert id="insertBasePrice" parameterType="com.olymtech.bs.freight.trk.vo.BasePriceResultVO"

keyColumn="base_price_id" keyProperty="basePriceId" useGeneratedKeys="true">

    insert into 
    truck_base_price (product_id, casenumber, base_price20, base_price40,remark)
    values 
    (#{productId,jdbcType=BIGINT}, #{casenumber,jdbcType=INTEGER}, #{basePrice20,jdbcType=DECIMAL}, #{basePrice40,jdbcType=DECIMAL},#{remark,jdbcType=VARCHAR})
  </insert>

2:返回到对应的实体中,如果要取到,则:

public Boolean addBasePrice(BasePriceResultVO basePriceResultVO)throws DataAccessException{
Boolean resultFlag=false;
try {
//先查询产品表该产品是否存在
Long productId = null;
TruckProduct trkProduct = truckProductDao.selectProductByIds(basePriceResultVO);
if(trkProduct == null){
truckProductDao.insertBaseProduct(basePriceResultVO);
productId = basePriceResultVO.getProductId();
}else{
productId = trkProduct.getProductId();
}
basePriceResultVO.setProductId(productId);
//TODO需要调车队相关的接口(暂时写死)
basePriceResultVO.setCasenumber(1);
truckBasePriceDao.insertBasePrice(basePriceResultVO);
Long basePriceId = basePriceResultVO.getBasePriceId();
if(basePriceId != null){
basePriceResultVO.setBasePriceId(basePriceId);
basePriceResultVO.setOperationType(TruckUtil.ADD);
Long resultId=truckBasePriceHistoryDao.insertTruckBasePriceHistory(basePriceResultVO);
if(resultId!=null){
resultFlag = true;
}
}
} catch (Exception ex) {
LOGGER.error("TruckBasePriceServiceImpl.addBasePrice异常" + ex);
}
return resultFlag;
}

mysql插入返回当前生成的主键的更多相关文章

  1. Mybatis 插入一条或批量插入 返回带有自增长主键记录

    首先讲一下,  插入一条记录返回主键的 Mybatis 版本要求低点,而批量插入返回带主键的 需要升级到3.3.1版本,3.3.0之前的都不行, <dependency> <grou ...

  2. mybatis+oracle 完成插入数据库,并将主键返回的注意事项

    mybatis+oracle 完成插入数据库,并将主键返回的注意事项一条插入语句就踩了不少的坑,首先我的建表语句是: create table t_openapi_batch_info( BATCH_ ...

  3. MySQL数据表中有自增长主键时如何插入数据

    原文链接:https://blog.csdn.net/RuobaiMEN/article/details/79794199 MySQL数据库表中有自增主键ID,当用SQL插入语句中插入语句带有ID列值 ...

  4. javaweb学习总结(三十七)——获得MySQL数据库自动生成的主键

    测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: ...

  5. javaweb(三十七)——获得MySQL数据库自动生成的主键

    测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: ...

  6. 获取mysql自主生成的主键

    一.sql语句 CREATE TABLE `testgeneratedkeys` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) ...

  7. 五.获得MYSQL数据库自动生成的主键

    测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: ...

  8. (jdbc)取得数据库自动生成的主键方法

    一些类,在前面的博客中有,就不重复了 public class Test2 { TestDAO t=new TestDAO(); /*前提是数据表的主键是自动增加的, *取得数据库自动生成的主键 * ...

  9. MyBatis插入时获取自增长主键

    在某些场景下,我们需要使用mybatis返回生成的主键值.Mybatis在insert和update标签中就提供了这种功能. 方法1: <insert id=”indetifyId” useGe ...

随机推荐

  1. Struts 2读书笔记-----Action访问Servlet API

    Action访问Servlet API Struts2中的Action并没有和任何Servlet API耦合,这样框架更具灵活性,更易测试. 对于Web应用的控制器而言,不访问ServletAPI是几 ...

  2. Hibernate事务传播性

    事务的几种传播特性 1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务.如果没有事务则开启 比如说:在UserManager中addUser里开启了,那么在addLog ...

  3. 线程之一:JAVA线程基础

    参考core java,马士兵视频 1.线程的基本概念 (1)一个线程是一个程序内部的顺序控制流. (2)线程和进程 –每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大. –线程:轻量 ...

  4. [转]fatal error: iostream.h: No such file or directory

    iostream.h是非标准头文件,iostream是标准头文件形式.iostream.h时代没有名词空间,即所有库函数包括头文件iostream.h都声明在全局域.为了体现结构层次,c++标准委员会 ...

  5. php 中const和 define的区别

    在php中定义常量时,可用到const与define这两种方法,那他们到底有什么区别呢? 1.const用于类成员变量的定义,一经定义,不可修改.define不可用于类成员变量的定义,可用于全局常量. ...

  6. MySQL--连接属性

    The capability flags are used by the client and server to indicate which features they support and w ...

  7. [原]bochs+dos6.22汇编环境

    1.下载安装bochs 下载MS-DOS http://files.cnblogs.com/allbymyself/DOS6.22.rar 下载Masm5.0 2.bochs配置 1)安装目录下的bx ...

  8. Zendframework连接两个或多个数据库的实现

    配置文件 <db> <adapter>PDO_MSSQL</adapter> <config> <host>localhost</ho ...

  9. python爬虫系列之爬取多页gif图像

                   python爬取多页gif图像 作者:vpoet mail:vpoet_sir@163.com #coding:utf-8 import urllib import ur ...

  10. 使用ObjectInputStream的readObject()方法如何判断读取到多个对象的结尾

    摘自http://blog.csdn.net/fjdingsd/article/details/46765803 使用ObjectInputStream的readObject()方法如何判断读取到多个 ...