mybatis的新手
insert into table(name, age) values (name_value, age_value)
一条记录的名称和值与另一条记录相同
如何使用mybatis避免这种情况?
我正在使用xml创建映射器
答案 0 :(得分:0)
这个问题尚不清楚,但是,您必须在数据库中定义一个唯一键。因此,如果您指定name和age列是唯一的,则dbms会阻止所有具有name和age的新行的所有插入。
这是mybatis查询的示例:
INSERT INTO mytable
(name, age)
VALUES
(
#{name},
#{age}
)
ON CONFLICT (name,age)
DO NOTHING
因此它尝试在表中插入一个值。如果dbms由于存在唯一键(由[名称和年龄]组成)而返回错误,它将执行另一个操作。您可以在DO后面放置一个UPDATE语句,而不是DO NOTHING。