2015-10-22 4 views
0

Я использую 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> 
+0

Возможного дубликат [MyBatis, как получить автогенерируемый ключ из вставить? \ [MySql \]] (http://stackoverflow.com/questions/18507508/mybatis-how-to-get-the-auto-generated-key-of-an-insert-mysql) – Lucky

ответ

0

Попробуйте использовать этот параметр в конфигурации mybatis:

<settings> 
    <setting name="useGeneratedKeys" value="true"/> 
</settings> 
Смежные вопросы