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