У меня есть таблица в MySQL, как показано ниже:Как получить значение поля, которое по умолчанию CURRENT_TIMESTAMP, в операторе вставки в MySQL с Mybatis
CREATE TABLE `mytable` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`phone` VARCHAR(128) NULL DEFAULT NULL,
`createTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=25
;
У меня есть картографа Mybatis, как показано ниже
@Mapper
public interface MyMapper {
Integer insertRecord(List<PhoneModel> list);
}
<insert id="insertRecord" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into mytable(phone) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.phone})
</foreach>
</insert>
В PhoneModel
имеется 3 объекта: id
, phone
, createTime
. Теперь я могу получить id
после звонка insertRecord
, но я хочу получить createTime
.
Я прошел через documents на Mybatis. В нем упоминается, что я могу добавить несколько имен свойств (например, createTime
) в keyProperty
и keyColumn
.
keyProperty (вставка и обновление только) Определяет свойство, в котором MyBatis будет установить значение ключа, возвращаемое getGeneratedKeys, или с помощью selectKey дочернего элемента оператора вставки. По умолчанию: unset. Может быть список имен свойств, разделенных запятыми, если ожидается несколько генерируемых столбцов.
keyColumn (только для вставки и обновления) Устанавливает имя столбца в таблице сгенерированным ключом. Это требуется только в некоторых базах данных (например, PostgreSQL), когда столбец ключей не является первым столбцом в таблице. Может быть список разделенных запятыми столбцов, если ожидается несколько генерируемых столбцов.
Я не ясно, о том, что разделенный запятыми список имен свойств/столбцов средства. Я пробовал keyProperty = "id, createTime", но он не работает.
Спасибо.