Al operar la base de datos, a menudo se encuentra con la inserción de lotes y la eliminación por lotes. Es fácil hacerlo directamente ejecutando declaraciones SQL. Habrá algunos problemas al usar MyBatis para la inserción por lotes y la eliminación de lotes. La siguiente es una introducción a la inserción por lotes y la eliminación de lotes usando MyBatis.
1. Inserción por lotes
Código Java:
// Modelo: test.java@datapublic de clase Test {String private x; privado cadena y; cadena privada z;} // mapper: testMapper.javapublic void InsertTestList (List <Scuest> TestList);Código XML
<!-xml: testMapper.xml-> ... <!-Ignore duplicate data-> <insertar id = "inserttestList" parametertype = "test"> insertar ignore en test_table (test_x, test_y, test_z) valores <foreach item = "item" ÍNDICE = "índice" colección = "listar" Open = "(" Close = ")" Separator = "," ",">##item Índico = "COLECCIÓN" COLLECCIÓN = "LIST" Open = "(" Close = ")" Separator = "," ",">##item Índico = "COLECCIÓN" COLECCIÓN = "LIST" Open = "(" Close = ")" Separator = ",", ","##ip "item} .x. #{item.y}, #{item} .z </boreach> </sert> <!-Update duplicar datos-> <insertar id = "inserttestlist" parametertype = "test"> insert en test_table (test_x, test_y, test_z) valores <foreach item = "item" Índice = "Índice" recopilar = "Lista" abre = "(" Close = ")") ")") ")") ")") ")") ")") ")") ")") ")") ")") ")") ")") ")") ")") ")") ") separator = ","> #{item} .x, #{item.y}, #{item} .z </areach> en la tecla duplicada updateTest_x = valores (test_x), test_y = valores (test_y), test_z = valores (test_z) </sert> ... ...Insertar declaraciones SQL de lotes
Insertar en valores test_table (x, y, z) (1, 1, 1), (2, 2, 2), (3, 3, 3)
Nota: Value () es una función de MySQL. Para una explicación específica, verifique el documento function_values.
La función principal es obtener el valor que se actualizará cuando se repitan los datos.
2. Deleción por lotes
Código Java:
// modelo: test.java@datapublic de clase Test {String private X; privado String y; String private Z;} // mapper: testMapper.javapublic void deletetEtestList (List <Scest> testList);Código XML
< #{item.z} </stideach> </elelete> ...Declaraciones SQL
Eliminar de test_table Where (test_x = 1 y test_y = 1 y test_z = 1) o (test_x = 2 y test_y = 2 y test_z = 2) o (test_x = 3 y test_y = 3 y test_z = 3)
Nota: El código anterior es el caso donde X, Y y Z son las claves primarias conjuntas, y la situación general usa donde ID.
Lo anterior es la operación de lote de inserción y eliminación de MyBatis introducida por el editor. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!