Код для последовательности самостоятельной инкющения Mybatis Oracle заключается в следующем:
<INSERT ID = "INSERT" useGeneratedKeys = "true" keyProperty = "s_id" parameterType = "xxxx"> <selectKey recoutType = "int" order = "перед" keyProperty = "s_id"> select seq_table.nextval из dual </selectKey> in in in in Insert in <span style = "fontiall: arvity ar sans-serif; "> s_id </span> <span style =" font-family: arial, helvetica, sans-serif; ">, name, age </span> values ( #{s_id} #{name}, #{Age}) </insert>ResultType = "int" возвращает тип int
KeyProperty присваивает возвращаемое значение: свойство объекта ParameterType, то есть свойство S_ID в классе XXXXX
Использовать GeneratedKeys = "true" keyProperty = "s_id"
Вернуть идентификатор последовательности, если не требуется, вы не можете его заполнить
Давайте посмотрим на первичный рост конфигурации Mybatis Oracle Oracle
MySQL, SQLSERVER и другие базы данных сами имеют первичные функции самолета ключей, такие как AUTO_INCREMENT. Их можно использовать напрямую
Использовать GeneratedKeys = "true" для реализации, например, следующая конфигурация
Вставьте в s_user_auth (id, user_id, user_name) values (#{id},#{userid},#{username})Однако Oracle не работает. Самоуравление первичного ключа Oracle достигается последовательно, поэтому этот метод невозможен, и вам нужно использовать:
1. Сначала выясните ID через последовательность, затем вставьте
Выберите yoursequence.nextval в качестве идентификатора из Dualinsert into s_user_auth (id, user_id, user_name) values (#{id},#{userid},#{username})2. Прямая вставка.
Вставьте в s_user_auth (id, user_id, user_name) values (yoursequence.nextval,#{userid},#{username})