Mysql表就像
CREATE TABLE `User` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`telphone` varchar(32) NOT NULL,
`name` varchar(64) NOT NULL DEFAULT '',
`password` varchar(64) NOT NULL DEFAULT '',
`balance` int(11) NOT NULL DEFAULT '0',
`user_type` int(2) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `phone_index` (`telphone`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;
我写的代码是:
@Service
public class CommonDao {
@Resource
private DSLContext jooqContext;
public <R extends Record> R insertAndGet(Table<R> table, R r, Field<?>... f) {
return jooqContext.insertInto(table).set(r).returning(f).fetchOne();
}
}
当我使用insert和get时,它总是返回null,并且数据实际插入到数据库中。 但是当我删除mysql中的唯一键时,它工作正常。