您的位置:首页 > 编程语言 > Java开发

java中批量执行sql语句

2007-12-29 14:19 453 查看
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class tttt {

public static boolean supportBatch(Connection con)
{
try
{
DatabaseMetaData md=con.getMetaData();
return md.supportsBatchUpdates();
}
catch(SQLException e)
{
e.printStackTrace();
}
return false;
}

public static int[] goBatch(Connection con,String[] sqls)
{
if(sqls==null)
{
return null;
}
Statement sm=null;
try
{
sm=con.createStatement();
for(int i=0;i<sqls.length;i++)
{
sm.addBatch(sqls[i]);
}

return sm.executeBatch();
}
catch(SQLException e)
{
e.printStackTrace();
}
return null;
}

/**
* @param args
* @throws IllegalAccessException
* @throws InstantiationException
*/
public static void main(String[] args) throws ClassNotFoundException,SQLException, InstantiationException, IllegalAccessException{
// TODO Auto-generated method stub

String userName="root";
String password="709394";

String[] sqls=new String[2];
sqls[0]="insert into yjyj(username) values('jiejie2ddd')";
sqls[1]="delete from yjyj where username='yunjie'";
//在这里可以自己添加多个需要执行的语句
Connection con=null;
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/yyjj",userName,password);
boolean supportBatch=tttt.supportBatch(con);
System.out.println(supportBatch);

if(supportBatch)
{
int[] results=tttt.goBatch(con, sqls);

}
}
catch(SQLException e)
{
e.printStackTrace();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: