在我们实际项目开发过程中,可能有的功能在后台需要执行几条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;
}