java数据库编程(4) 使用execute方法执行SQL语句

  1. Statement的execute()语句可以执行任何SQL语句,但是它比较麻烦,故通常应该使用executeQuery()或者executeUpdate()方法。
  2. 使用exrcute()方法执行只是返回boolean值,它表示执行该SQL语句是否返回了ResultSet对象,如果需要获取ResultSet对象的话,可以使用下面两个方法:
    1. getResultSet()获取该Statement执行查询语句后返回的ResultSet对象
    2. getUpdateCount()获取该Statement执行SQL语句后影响的记录行数
  3. 以下为代码示例,具体讲解穿插在代码中
    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

    这是我看李刚编著的《疯狂Java讲义》后总结出来的。

你可能感兴趣的:(java)