使用try-with-resource自动关闭资源

  • 结构:
    try(声明和创建资源) {
    使用资源来处理文件
/**
 * 测试使用try-with-catch自动关闭连接
 */

public class TestJDBC {

    public static void main(String[] args) {

        //注册驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        
        try (
                //建立连接对象jdbc:mysql:///db3
                Connection conn = DriverManager.getConnection("jdbc:mysql:///db3", "root", "root");
                //建立执行sql语句对象
                Statement statement = conn.createStatement();
        ) {
            //定义sql语句
            String sql = "select * from account where id = 1";
            ResultSet rs = statement.executeQuery(sql);
            //处理结果
            while (rs.next()) {
                int id = rs.getInt(1);
                String name = rs.getString("name");
                double balance = rs.getDouble(3);
                System.out.println("id:" + id + "\nname:" + name + "\nbalance:" + balance);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
}
  • 解释:关键词try后面声明和创建了Connection和Statement资源,注意,资源必须是AutoCloseable的子类型,资源的声明和创建必须在同一个语句中,块结束后,资源的close()方法自动调用以关闭资源。在try-with-resource语句中可以省略catch子句。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值