我们在使用mysql插入数据的时候,通常会有这样一个需求:
当表的主键id是自增字段的时候,会想要获得插入的id值用以下一个插入操作。
mybatis实际上已经为我们提供了这种功能:以下是我实现订单插入时获取id的实例
主要还是在mapper.xml文件中的insert标签中加入(useGeneratedKeys=”true” keyProperty=”ordertbId”)两个属性值,其中keyProperty的值为你所要取得的字段的对象的属性。
但是注意传回的数据四存放在你之前传入的对象中的
sql脚本
create table ordertb(#订单表
ordertb_id int primary key auto_increment,#订单编号
usertb_id int,#用户编号
workertb_id int,#工人编号
ordertb_status int,#订单状态1.未付款2.已付款3.已完成4.已冻结5.正在退单
ordertb_payment int,#支付方式1.线下交易2.支付宝3.微信
ordertb_money double,#支付金额
ordertb_starttime datetime,#订单开始时间
ordertb_endtime datetime,#订单完成时间
alternative1 varchar(50),
alternative2 varchar(50),
alternative3 varchar(50)
);
OrderMapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.craftsman.ssm.mapper.OrderMapper" >
<resultMap id="BaseResultMap" type="com.craftsman.ssm.entity.Order" >
<id column="ordertb_id" property="ordertbId" jdbcType="INTEGER" />
<result column="usertb_id" property=