Le code de la séquence d'auto-incitation de MyBatis Oracle est le suivant:
<insert id = "insert" useGeneratedKeys = "true" keyproperty = "s_id" ParameterType = "xxxx"> <selectKey resultType = "int" order = "avant" keyproperty = "s_id"> SELECT SEQ_TABLE.NEXTVAL à partir de Dual </lectKe> Sans-Serif; "> s_id </span> <span style =" font-Family: Arial, Helvetica, Sans-Serif; ">, nom, âge </span> (# {s_id} # {name}, # {age}) </sert>resultType = "int" renvoie un type int
KeyProperty attribue la valeur de retour à: la propriété de l'objet de ParameterType, c'est-à-dire la propriété S_ID dans la classe xxxxx
useGeneratedKeys = "true" keyproperty = "s_id"
Renvoyez l'ID de séquence, si ce n'est pas nécessaire, vous ne pouvez pas le remplir
Jetons un coup d'œil à la principale croissance de la clé de la configuration de Mybatis Oracle
MySQL, SQLServer et d'autres bases de données elles-mêmes ont des fonctions d'auto-croissance de clé primaire comme Auto_increment. Ils peuvent être utilisés directement
useGeneratedKeys = "true" à implémenter, comme la configuration suivante
Insérer dans S_User_Auth (id, user_id, user_name) valeurs (# {id}, # {userId}, # {nom d'utilisateur})Cependant, Oracle ne fonctionne pas. La croissance de soi de la clé primaire Oracle est réalisée par séquence, donc cette méthode n'est pas possible et vous devez utiliser:
1. Découvrez d'abord l'ID via la séquence, puis insérez
Sélectionnez votre Sesence.NextVal en tant qu'ID dans DualInsert dans S_USER_AUTH (ID, USER_ID, USER_NAME) VALEURS (# {id}, # {userId}, # {username})2. Direct InsertSequence.NextVal, comme suit
Insérer dans S_User_Auth (id, user_id, user_name) VALEURS (yourSequence.NextVal, # {userId}, # {username})