データベースを操作する場合、バッチ挿入とバッチ削除に遭遇することがよくあります。 SQLステートメントを実行することで、直接簡単に実行できます。バッチ挿入とバッチ削除にMyBatisを使用する場合、いくつかの問題が発生します。以下は、MyBatisを使用したバッチ挿入とバッチ削除の紹介です。
1。バッチ挿入
Javaコード:
//モデル:test.java@datapublic class test {private string x; private string y; private string z;} // mapper:testmapper.javapublic void inserttestlist(list <test> testlist);XMLコード
<! - xml:testmapper.xml - > ... <! - 無視データデータ - > <ID = "InsertTestlist" parametertype = "test"> Insert Insert Insert Ingainore ing ing ing ing the test_x、test_y、test_y)values <foreach item = "item" index = "index" = "" open = "") #{item.y}、#{item} .z </foreach> </insert> <! - upproach duplicate data-> <insert insert data-> <insert inserttestlist "parametertype =" test "> test_x、test_y、test_z)values <foreach =" item "index =" "open =" separator = "、">#{item} .x、#{item.y}、#{item} .z .z </foreach> on duplicate updatetetest_x = values(test_x)、test_y = values(test_y)、test_z = values(test_z)</insater> ...バッチSQLステートメントを挿入します
test_table(x、y、z)値(1、1、1)、(2、2、2)、(3、3、3)に挿入
注:value()はmysqlの関数です。特定の説明については、Document function_valuesを確認してください。
主な機能は、データが繰り返されたときに値を更新することです。
2。バッチ削除
Javaコード:
//モデル:test.java@datapublic class test {private string x; private string y; private string z;} // mapper:testmapper.javapublic void deletetestlist(list <test> testlist);XMLコード
<! - xml:testmapper.xml-> ... <delete id = "deletetestlist" parametertype = "test"> test_table where <foreach iteach = "item" index = "index" collection = "open ="( "close =") "separator =" or "> test_x =#{ite.xx}およびtest_y. #{item.z} </foreach> </delete> ...SQLステートメント
test_table where(test_x = 1およびtest_y = 1およびtest_z = 1)または(test_x = 2およびtest_y = 2およびtest_z = 2)または(test_x = 3およびtest_y = 3およびtest_z = 3から削除
注:上記のコードは、x、y、zが共同プライマリキーであり、一般的な状況がid inで使用する場合です。
上記は、編集者によって導入されたMyBatis挿入および削除バッチ操作です。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!