mysql获取自动生成的id

自增主键

 <insert id="saveOne" parameterType="com.buwei.entity.User" > 

         INSERT into user(name, password) value(#{name},#{password})

         <selectKey keyProperty="id" order="AFTER" resultType="int"> 

          select last_insert_id()

         </selectKey> 

 </insert> 

 <insert id="saveOne" parameterType="com.buwei.entity.User" useGeneratedKeys="true" keyProperty="id">

      INSERT into user(name, password) value(#{name},#{password})

 </insert>

   SELECT LAST_INSERT_ID():得到刚 insert 进去记录的主键值,只适用与自增主键

   keyProperty:将查询到主键值设置到 parameterType 指定的对象的那个属性

   order:SELECT LAST_INSERT_ID() 执行顺序,相对于 insert 语句来说它的执行顺序

   resultType:指定 SELECTLAST_INSERT_ID() 的结果类型

 

注:新增多条时,只会返回第一条插入的数据

   使用useGeneratedKeys生成主键时,不能在DAO层使用@Param注解传递参数,否则无法获取主键

 

uuid主键

 

<insert id="insert" parameterType="User">

    <selectKey keyProperty="userId" resultType="java.lang.String" order="BEFORE">

            select uuid()

     </selectKey>

    INSERT INTO ll_user

      (user_id, name)

   VALUES

      (#{userId}, #{name})

</insert>

    


版权声明:本文为weixin_37981186原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。