mybatis (ibatis) 新增 返回主键

<insert id="insert" useGeneratedKeys="true" keyProperty="menuid"  parameterType="com.kjcity.sx.common.po.SysMenu" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
    -->
    insert into sys_menu (menuid, code, name, 
      sortorder, isvirtual, fatherid, 
      url, status, menuicons, 
      menulevel, creator, creationtime, 
      modifier, modifiedtime, dr, 
      ts, ismenu, path)
    values (#{menuid,jdbcType=INTEGER}, #{code,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, 
      #{sortorder,jdbcType=INTEGER}, #{isvirtual,jdbcType=BIT}, #{fatherid,jdbcType=INTEGER}, 
      #{url,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{menuicons,jdbcType=VARCHAR}, 
      #{menulevel,jdbcType=INTEGER}, #{creator,jdbcType=INTEGER}, #{creationtime,jdbcType=TIMESTAMP}, 
      #{modifier,jdbcType=INTEGER}, #{modifiedtime,jdbcType=TIMESTAMP}, #{dr,jdbcType=INTEGER}, 
      #{ts,jdbcType=TIMESTAMP}, #{ismenu,jdbcType=INTEGER}, #{path,jdbcType=VARCHAR})
  </insert>

 我们通过 org.apache.ibatis.session.SqlSession.insert(String statement, Object parameter)  插入一个对象之后,发现返回的值是 int型,那我们需要的不是影响数据库行数,而是新增到数据库之后的主键ID,那怎么办呢?

 

其实只要在mapper.xml的 insert中加入以下属性就可以了。新增一个Object后,Object的id就会拥有id信息

useGeneratedKeys="true" keyProperty="menuid"     menuid为主键ID

你可能感兴趣的:(mybatis (ibatis) 新增 返回主键)