mysql插入返回当前生成的主键

 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;
}

 

posted @ 2016-03-14 20:08  夏日树叶  阅读(3589)  评论(0编辑  收藏  举报