如何有效插入数据呢?根据业务上的要求插入的时候要先判断下是否存在,假如存在,就做更新,否则就新增
if exists (SELECT * FROM test WHERE id= #{id})
UPDATE test SET
name=#{name}
name2=#{name2}
name3=#{name3}
name4=#{name4}
name5=#{name5}
name6=#{name6}
name7=#{name7}
name8=#{name8}
name9=#{name9}
name10=#{name10}
WHERE knumh = #{knumh}
else
INSERT INTO test(
name
name2,
name3,
name4,
name5,
name6,
name7,
name8,
name9,
name10
) VALUES (
#{name}
#{name2},
#{name3},
#{name4},
#{name5},
#{name6},
#{name7},
#{name8},
#{name9}
#{name10}
)
现在速度非常慢,用的是mybatis BATCH的方法1000条提交一次有啥快的办法么?
if exists (SELECT * FROM test WHERE id= #{id})
UPDATE test SET
name=#{name}
name2=#{name2}
name3=#{name3}
name4=#{name4}
name5=#{name5}
name6=#{name6}
name7=#{name7}
name8=#{name8}
name9=#{name9}
name10=#{name10}
WHERE knumh = #{knumh}
else
INSERT INTO test(
name
name2,
name3,
name4,
name5,
name6,
name7,
name8,
name9,
name10
) VALUES (
#{name}
#{name2},
#{name3},
#{name4},
#{name5},
#{name6},
#{name7},
#{name8},
#{name9}
#{name10}
)
现在速度非常慢,用的是mybatis BATCH的方法1000条提交一次有啥快的办法么?
insert into test(...) values (...),(...),...,(...);SQL可以写成: insert into test values ${vals}
vals是多行的拼接。