MyBatis 获取最后插入的ID

版权声明:本文为博主原创文章,转载请标明出处。 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 

猜你喜欢

转载自blog.csdn.net/weixin_43014205/article/details/86151630