hola a todos, espero me puedan colaborar con esta duda que tengo, lo que sucede es que tengo que insertar varios registros en una tabla y he encontrado dos formas de hacer pero no se cual de las dos es mas optima, a continuacion las expongo:

 

esta es la primera utilizando la funcion batch del jdbctemplate:

nivelEsc.getEspNivel() tiene una cadena de la siguiente forma: "01, 02, 03, 04, 05" por asi decirlo

 

List<Object[]> batch = new ArrayList<Object[]>();
for (String especialidad : nivelEsc.getEspNivel().split(", ")) {
batch.add(new Object[] { nivelEsc.getCodNivel(), especialidad });
}
sql = "insert into cfgnivel_especialidad set codigo_nivel = ?, codigo_especialidad = ?;";
template.batchUpdate(sql, batch);

la segunda forma es esta:

sql = "insert into cfgnivel_especialidad set codigo_nivel = ?, codigo_especialidad = ?;";

 

for (String especialidad : nivelEsc.getEspNivel().split(", ")) {
      template.update(sql, nivelEsc.getCodNivel(), especialidad);
 }

le agradezco mucho a la persona que me pueda colaborar..

muchas gracias