Java数据库连接与查询


9个步骤:

1、加载数据库驱动;

2、连接数据库;

3、创建语句statement;

5、创建sql语法字符串;

6、执行;

7、如果步骤6是执行新增、修改、删除操作那么返回的是影响的行数,如果是执行查询操作,接着步骤8:

8、解析结果集ResultSet;

9、关闭结果集ResultSet、关闭Statement、关闭数据库连接。

上代码:

    public static void main(String[] args) throws SQLException {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("找不到驱动类!");
            e.printStackTrace();
        }

        String url = "jdbc:mysql://localhost:3306/exe_course";
        String userName = "root";
        String password = "123456";

        try (Connection connection = DriverManager.getConnection(url, userName, password)) {
            System.out.println("数据库链接成功!");

            try (Statement statement = connection.createStatement()) {
                String command = "insert into a_dept(name) values('1'),('2')";
                int count = statement.executeUpdate(command);
                System.out.println("受影响行数:" + count);

                String selectSql = "select * from a_dept";

                try (ResultSet resultSet = statement.executeQuery(selectSql)) {
                    while (resultSet.next()) {
                        System.out.println(resultSet.getInt("id"));
                        System.out.println(resultSet.getString("name"));
                    }
                }
            }
        }
    }

上面代码使用了try的两种用法,在需要释放资源的时候比较推荐使用第二种用法,这种方式会在使用结束之后自动关闭资源。

下面是运行结果:

注意:

1、我们使用try-with-resources写法来自动关闭statement,同时也用来关闭ResultSet,但是需要注意的是:关闭statement的同时也会自动关闭相应statement下的结果集ResultSet.

2、同样,关闭一个connect的时候会关闭该连接下的所有statement。

2、一个statement对应的只能有一个打开的ResultSet结果集。如果需要执行多个查询操作,建议创建多个statement对象,或者是使用联合查询(最常用)。

相关