java sql执行失败 java执行sql语句的方法
转载
- Statement的execute()语句可以执行任何SQL语句,但是它比较麻烦,故通常应该使用executeQuery()或者executeUpdate()方法。
- 使用exrcute()方法执行只是返回boolean值,它表示执行该SQL语句是否返回了ResultSet对象,如果需要获取ResultSet对象的话,可以使用下面两个方法:
- getResultSet()获取该Statement执行查询语句后返回的ResultSet对象
- getUpdateCount()获取该Statement执行SQL语句后影响的记录行数
- 以下为代码示例,具体讲解穿插在代码中
import java.io.FileInputStream;
import java.sql.*;
import java.util.Properties;
public class ExecuteSQL {
// 常规操作
private String driver;
private String url;
private String user;
private String pass;
public void initParam(String paramFile) throws Exception{
Properties properties = new Properties();
properties.load(new FileInputStream(paramFile));
driver = properties.getProperty("driver");
url = properties.getProperty("url");
user = properties.getProperty("user");
pass = properties.getProperty("pass");
}
public void executeSql(String sql) throws Exception{
Class.forName(driver);
try(
Connection connection = DriverManager.getConnection(url, user, pass);
Statement statement = connection.createStatement()){
boolean hasResultSet = statement.execute(sql);
// 执行execute方法后返回boolean值
if(hasResultSet){
try(
ResultSet rs = statement.getResultSet()
// 获取结果集
){
ResultSetMetaData rsmd = rs.getMetaData();
// ResultSetMetaData是用于分析结果集的元数据接口
int columnCount = rsmd.getColumnCount();
// 获取行数
while (rs.next()){
for(int i=0; i<columnCount; i++){
System.out.println(rs.getString(i+1) + "\t");
}
System.out.println();
}
}
}
else {
System.out.println("该sql语句影响的记录有" + statement.getUpdateCount() + "条");
}
}
}
public static void main(String args[]) throws Exception{
ExecuteSQL executeSQL = new ExecuteSQL();
executeSQL.initParam("mysql.ini");
System.out.println("删除表的DDL语句");
executeSQL.executeSql("drop table if exists my_test");
System.out.println("创建表的DDL语句");
executeSQL.executeSql("create table my_test" +
"(id int);");
System.out.println("插入数据");
executeSQL.executeSql("insert into my_test values (1);");
System.out.println("查询所有数据");
executeSQL.executeSql("select * from my_test");
}
}
//执行上面的程序,得到以下运行结果
// 删除表的DDL语句
// 该sql语句影响的记录有0条
// 创建表的DDL语句
// 该sql语句影响的记录有0条
// 插入数据
// 该sql语句影响的记录有1条
// 查询所有数据
// 1
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。