java0017——JDBC使用execute方法执行SQL语句

成品类

package ConnectMySql;

import java.sql.*;

class ConnMySQL02ByExecute {
    private String driver;
    private String url;aa
    private String usename1;
    private String password;
    private Connection connection;
    private Statement statement;
    private ResultSet resultSet;

    public ConnMySQL02ByExecute(String driver, String url, String usename1, String password) {
        this.driver = driver;
        this.url = url;
        this.usename1 = usename1;
        this.password = password;
    }

    public void outPutSQL(String SQL) throws Exception {
        try {
            Class.forName(driver);
            connection = DriverManager.getConnection(url, usename1, password);
            statement = connection.createStatement();
            boolean hasResult = statement.execute(SQL);
            /*如果有结果集*/
            if (hasResult) {
                resultSet = statement.getResultSet();
                //分析结果集的元素数据接口
                ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
                //            获取接口数量
                int columnCount = resultSetMetaData.getColumnCount();
                while (resultSet.next()) {
                    for (int i = 0; i < columnCount; i++) {
                        System.out.print(resultSet.getString(i + 1) + '\t');
                    }
                    System.out.println(" ");
                }
            } else System.out.println("SQL语句影响的记录有" +
                    statement.getUpdateCount() + "条");
        } catch (ClassNotFoundException e) {
            System.out.println("数据库驱动加载失败");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("数据库连接失败");
            e.printStackTrace();
        } finally {
            if (resultSet != null)
                resultSet.close();
            if (statement != null)
                statement.close();
            if (connection != null)
                connection.close();
        }

    }
}

测试类

package ConnectMySql;

public class ConnMySQL_02_ByExecuteDemo {
    public static void main(String[] args)throws  Exception {

        String diver = "com.mysql.cj.jdbc.Driver";
//        com.mysql.cj.jdbc.Driver
        String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=GMT";
//        jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=GMT
        String username = "root";
        String password = "123456";
        ConnMySQL02ByExecute demo = new ConnMySQL02ByExecute(diver,url,username,password);
        System.out.println("执行删除DDL语句");
        String drop="drop table if exists jdbc_delete";
        demo.outPutSQL(drop);
        System.out.println("执行创建语句");
        String create="create table jdbc_create(" +
                "number int," +
                "name varchar(255));";
        demo.outPutSQL(create);
        System.out.println("执行插入语句");
        String insert="insert into jdbc_create values (1,'Dan'),(2,'Tina'),(3,'lle')";
        demo.outPutSQL(insert);
        System.out.println("执行查询语句");
        String search = "select number from jdbc_create where number<3 ";
        demo.outPutSQL(search);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41448891/article/details/82884944
今日推荐