O código para a sequência de auto-incrementação do Mybatis Oracle é a seguinte:
<insert id = "insert" useGeneratedKeys = "true" keyProperty = "s_id" parameterType = "xxxx"> <selectKey ResultType = "int" Order = "Antes" KeyProperty = "S_ID"> Selecionar seq_table.next de dupla </selectkey> insert em <spany ">" sans-serif; "> s_id </span> <span style =" font-family: Arial, helvetica, sans-serif; ">, nome, idade </span> valores ( #{s_id} #{name}, #{idade}) </insert>resultType = "int" retorna um tipo int
KeyProperty atribui o valor de retorno a: propriedade do objeto do ParameterType, ou seja, a propriedade S_ID na classe XXXXX
useGeneratedKeys = "true" keyproperty = "s_id"
Retorne o ID da sequência, se não for necessário, você não pode preenchê -lo
Vamos dar uma olhada no crescimento principal da configuração mybatis Oracle
O MySQL, o SQLServer e outros bancos de dados têm funções principais de auto-crescimento primárias como Auto_increment. Eles podem ser usados diretamente
useGeneratedKeys = "true" para implementar, como a seguinte configuração
inserir em s_user_auth (id, user_id, user_name) valores (#{id},#{userId},#{userrame})No entanto, o Oracle não funciona. A auto-crescimento da chave primária do Oracle é alcançada através da sequência; portanto, esse método não é possível e você precisa usar:
1. Primeiro descubra o ID através da sequência e depois insira
Selecione Yoursequence.NextVal como ID de DualInsert em s_user_auth (id, user_id, user_name)
2. Inserção direta.
Inserir em s_user_auth (id, user_id, user_name) valores (yearsequence.nextval,#{userId},#{nome de usuário})