Java中批量执行sql语句

在我们实际项目开发过程中,可能有的功能在后台需要执行几条sql语句甚至需要批量的执行一些sql语句,如果是循环一条一条执行,我想大家都知道这样做的效率特别低,尤其是批量sql时,但是如果我们先循环把整个的拼成一个以‘;’分割开的sql,然后执行这样的效率提高了不少。

String[] idsArray = addMenuIds.split(",");
   for (int i = 0; i < idsArray.length; i++)
   {
    sql.append("insert into T_USER_MENU(ID_,MENU_ID_,USER_ID_)values(S_USER_MENU.nextval,"
       + Integer.parseInt(idsArray[i])
       + ","
       + Integer.parseInt(userId)
       + ");");
   }

jdbcDao.execute(sql.toString().split(";"));

jdbcDao中execute:
public boolean execute(String[] sql)
 {
  try
  {
   this.getSimpleJdbcTemplate().getJdbcOperations().batchUpdate(sql);
  } catch (DataAccessException e)
  {
   e.printStackTrace();
   return false;
  }
  return true;
 }

你可能感兴趣的:(java,sql,String,user,insert,menu)