El código para la secuencia de autoincremento de MyBatis Oracle es el siguiente:
<insertar id = "insertar" useGeneratedKeys = "true" keyproperty = "s_id" parametertype = "xxxx"> <selectKey resultType = "int" orden = "antes" keyproperty = "s_id"> seleccione SEQ_TABLE sans-serif; "> S_id </span> <span style =" Font-Family: Arial, Helvetica, Sans-Serif; ">, Nombre, Age </span> valores ( #{S_ID} #{name}, #{Age}) </sert>resultType = "int" devuelve un tipo int
KeyProperty asigna el valor de retorno a: la propiedad del objeto de Parametertype, es decir, la propiedad S_ID en la clase xxxxx
useGeneratedKeys = "true" keyproperty = "s_id"
Devolver la ID de secuencia, si no es necesario, no puede completarla
Echemos un vistazo al crecimiento clave principal de la configuración de mybatis Oracle
MySQL, SQLServer y otras bases de datos en sí tienen funciones de crecimiento de autogestión clave como Auto_Increment. Se pueden usar directamente
useGeneratedKeys = "True" para implementar, como la siguiente configuración
Insertar en S_USER_AUTH (id, user_id, user_name) valores (#{id},#{userId},#{username})Sin embargo, Oracle no funciona. El crecimiento propio de la clave primaria Oracle se logra a través de la secuencia, por lo que este método no es posible y debe usar:
1. Primero descubra la secuencia ID a través de, luego inserte
Seleccione YourSequence.NextVal como ID de DualInsert en s_user_auth (id, user_id, user_name) valores (#{id},#{userId},#{username})2. Direct Insert Secuence.NextVal, como sigue
Insertar en S_USER_AUTH (id, user_id, user_name) valores (YourSequence.NextVal,#{userId},#{username})