本文转载自:
http://www.cnblogs.com/linlf03/archive/2012/12/16/2820677.html 作者:linlf03 转载请注明该声明。
Java 使用execute方法执行Sql语句。
mysql.ini是一个配置文件。配置内容可以看上一篇。
class ExecuteSql {
private String driver;
private String url;
private String user;
private String pass;
Connection conn;
Statement stmt;
ResultSet rs;
public void initParam(String paramFile) throws Exception {
Properties props = new Properties();
props.load(new FileInputStream(paramFile));
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
pass = props.getProperty("pass");
}
public void executeSql(String sql) throws Exception{
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,user,pass);
stmt = conn.createStatement();
boolean hasResultSet = stmt.execute(sql);
if (hasResultSet) {
rs = stmt.getResultSet();
java.sql.ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
while (rs.next()) {
for (int i = 0; i < columnCount; i++) {
System.out.print(rs.getString(i+1) + "\t");
}
System.out.println();
}
}
else {
System.out.println("改SQL语句影响的记录有" + stmt.getUpdateCount() + "条");
}
}
finally
{
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
ExecuteDDL ed = new ExecuteDDL();
ed.initParam("src/mysql.ini");
ed.executeSql("drop table if exists school"); //(insertSql);
ed.executeSql("create table school(id int, name varchar(50), addr varchar(50))");
ed.executeSql("insert into school values(1, 'No1', 'BeiJing')");
ed.executeSql("select * from school");
}
}
执行结果为: