版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/weixin_43014205/article/details/86151630
需求:当向表中插入一条数据后,获得该条数据的id
keyColmun 要获取哪一列的数据(哪一列的数据时id)
keyProperty 要把该属性(id)赋值给哪个字段
resultType 返回类型
order 是在插入前获得还是插入后获得
<insert id="insertCustomer" parameterType="com.bullet.domain.Customer">
<!--获取插入的最后一条id-->
<!--keyColumn 哪一列是ID
keyProperty 要把id给哪个属性
resultType id是什么类型
order 是插入之前获得id还是插入之后获得id
-->
<selectKey keyColumn="cust_id" keyProperty="cust_id" resultType="Integer" order="AFTER">
select last_insert_id()
</selectKey>
insert into `customer` (cust_name,cust_profession,cust_phone,email)
values (#{cust_name},#{cust_profession},#{cust_phone},#{email})
</insert>
public void test4(){
SqlSession sqlSession = MyBatisUtils.openSession();
Customer customer = new Customer();
customer.setCust_name("机器人2");
customer.setCust_phone("15872404075");
customer.setCust_profession("辅助");
customer.setEmail("[email protected]");
sqlSession.insert("insertCustomer",customer);
sqlSession.commit();
System.out.println(customer.getCust_id());
sqlSession.close();
}
插入后即可获得插入该条数据的id