mybatis避免插入相同的数据

mybatis avoid inserting the same data

mybatis 新手

insert into table(name, age) values (name_value, age_value)

一条记录的名称和值与另一条记录相同

如何使用mybatis来避免?

我正在使用 xml 创建映射器

问题不明确,但您必须在数据库中定义一个唯一键。因此,如果您指定 name 和 age 列是唯一的,您的 dbms 会阻止所有具有已存在的 name 和 age 的新行的插入。

这是mybatis查询的例子:

INSERT INTO mytable
        (name, age)
    VALUES
        (
        #{name},
        #{age}
        )
    ON CONFLICT (name,age)
    DO NOTHING

因此它会尝试向您的 table 中插入一个值。如果 dbms returns 出错,因为存在唯一键(即由 [name 和 age] 组成),它会执行另一个操作。例如,您可以在 DO 之后放置一条 UPDATE 语句,而不是什么都不做。