Я использую MySQL 5.5.46
с MyBatis 3.3
и Spring 4.2
. У меня есть таблица с столбцом первичного ключа, который имеет тип VARCHAR(32)
. В моем файле сопоставления у меня есть это утверждение. Обратите внимание, что я использую MySql's uuid()
для автоматического создания идентификатора. Как я могу взять этот идентификатор и заполнить его в возвращаемом объекте? Я пытаюсь LAST_INSERT_ID()
, но это не делает его ...Как вернуть мой автогенерированный идентификатор в мой объект MyBatis?
<insert id="insertMyObject" parameterType="org.mainco.myproject.domain.MyObject" keyProperty="id" keyColumn="id">
insert into cb_myproject_sync_entity_link(id, links_self, links_schools, links_teachers, links_students, links_sections, links_grade_levels, links_contacts)
values(replace(uuid(), '-', ''),#{linksSelf}, #{linksSchools}, #{linksTeachers}, #{linksStudents}, #{linksSections}, #{linksGradeLevels}, #{linksContacts})
<selectKey keyProperty="id" resultType="String" order="AFTER">SELECT LAST_INSERT_ID();</selectKey>
</insert>
Возможного дубликат [MyBatis, как получить автогенерируемый ключ из вставить? \ [MySql \]] (http://stackoverflow.com/questions/18507508/mybatis-how-to-get-the-auto-generated-key-of-an-insert-mysql) – Lucky