/*
 *   编写快速 入门的jdbc 程序 :
 *  
 *    1. 先导入 具体的驱动jar包
 *    2. 编写一个类 , 写jdbc 的程序
 *
 *  具体的编写 java类的 代码的步骤:
 *   
 *   第一步: 注册驱动 --- 告诉 具体的要操作的是那个 数据库
 *   第二步: 建立与 数据库的链接---Connection
 *   第三步: 获得可以发送  sql 语句的 statement 对象
 *   第四步: 执行sql 语句, 拿到 结果集对象
 *   第五步: 解析结果集中的数据
 *   第六步: 释放资源
 *
 */

@Test
 public void test2() {
  
  Connection conn = null;
  Statement stmt = null;
  ResultSet rs = null;
  try {
   // 第一步: 注册驱动
//   DriverManager.registerDriver(new Driver());
   
   //这里 本来是 加载字节码, 但是 加载字节码的 时候 又 会执行 这个Driver类的静态代码快, 而静态代码块 有完成了驱动的注册, 所以
   // 这行代码 就是那么巧 ...
   Class.forName("com.mysql.jdbc.Driver");
   
   // 第二步: 建立与 数据库的链接
   //  http://localhost:8080/day15/1.html
   
   //通常 可以简写 为 :  jdbc:mysql:///day15_jdbc
   conn = DriverManager.getConnection("jdbc:mysql:///day15_jdbc", "root", "abc");
   
   
   
   // 第三步:获得可以发送  sql 语句的 statement 对象
   
   stmt = conn.createStatement();
   
   // 第四步: 执行sql 语句, 拿到 结果集对象
   // rs , 就封装了这个查询的结果
   rs = stmt.executeQuery("select * from users");
   
   // 第五步: 解析结果集中的数据
   while(rs.next()){
    
    int id = rs.getInt("id");
    String username = rs.getString("username");
    String password = rs.getString("password");
    String nickname = rs.getString("nickname");
    
    System.out.println("id: " + id+",username : " + username+", password : " + password +", nickname : " + nickname);
   }
   
   
  } catch (Exception e) {
   e.printStackTrace();
  }finally{
//   第六步: 释放资源  --- 由于 数据库 链接非常的稀缺, 所以 在 操作完成后,记得释放资源 , 都会放到 finally 代码块 中
   
   if(rs!=null){
    try {
     rs.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
    rs =null;
   }
   
   if(stmt!=null){
    try {
     stmt.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
    stmt=null;
   }
   
   if(conn!=null){
    try {
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
    conn=null;
   }
   
  }
 }

【数据库】java链接jdbc 释放资源的更多相关文章

  1. java链接JDBC中的?问题

    String sql = "select * from student where name= ?"; PreparedStatement pst = conn.prepareSt ...

  2. java 链接jdbc

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  3. 写给小白的JAVA链接MySQL数据库的步骤(JDBC):

    作为复习总结的笔记,我罗列了几个jdbc步骤,后边举个简单的例子,其中的try块请读者自行处理. /* * 1.下载驱动包:com.mysql.jdbc.Driver;网上很多下载资源,自己找度娘,此 ...

  4. Java数据库基础(JDBC)

    JDBC(Java Data Base Connectivity):SUN公司为了简化统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC: 这样应用程序就不需要关注数据库底层的详细 ...

  5. ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库

    1.MySQL存储过程   1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if  while)等等 的sql语句   1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...

  6. JAVA使用JDBC技术操作SqlServer数据库执行存储过程

    Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带 ...

  7. Java数据库操作(JDBC)

    JDBC Java数据库连接(Java DataBase Connectivity,JDBC)用于在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库 ...

  8. java链接数据库--Mysql

    /************************************************************************* > File Name: Mysql.jav ...

  9. Java之JDBC操作数据库

    DBC JDBC就是一套接口,真正执行的是jar包里得实现类,通过泛型对象来执行实现类里的方法. 步骤: ###1.导入驱动jar包到工程中 ###2.编写代码注册驱动,我们要让程序知道用的是哪个驱动 ...

随机推荐

  1. 创建一个简单的maven的web程序

    最近学习Hadoop,发现学习要想用hadoop作为后台运行web程序,必须应用maven,所以学习了今天学习了一下maven,然后搭建了一个简单的web程序 首先我使用的是eclipse中自带的ma ...

  2. C#-WebForm-Repeater的灵活运用、ItemCommand的用法-增删改查、如何不适用Repeater来展示数据?

    浏览器页面: 代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Defau ...

  3. linux如何安装和启动mongdb

    1.下载安装包 下载地址: https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz/dow ...

  4. C++默认实参

    某些函数有这样一种形参,在函数的很多次调用中它们都被赋予一个相同的值,此时,我们把这个反复出现的值称为函数的默认实参.调用含有默认实参的函数时,可以包含该实参,也可以省略该实参. 例如定义一个函数sc ...

  5. 论文分享NO.4(by_xiaojian)

    论文分享第四期-2019.04.16 Residual Attention Network for Image Classification,CVPR 2017,RAN 核心:将注意力机制与ResNe ...

  6. /usr/bin/ld: cannot find -lperconaserverclient_r 解决

    编译sqladvisor安装遇到: [root@localhost sqladvisor]# cd SQLAdvisor/sqladvisor/ [root@localhost sqladvisor] ...

  7. ator自动生成mybatis配置和类信息

    generator自动生成mybatis的xml配置.model.map等信息: 1.下载mybatis-generator-core-1.3.2.jar包.        网址:http://cod ...

  8. html个人简历

    https://gitee.com/aijiawei3344/codes/g8piyjc3kb7nav4whqd2r79 <!DOCTYPE html> <html> < ...

  9. 【gcc】命令记录

    编译程序gcc -o <eecutable> <soure_code.c>

  10. io流之转换流InputStreamReader、OutputStreamWriter

    例子程序: package io; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.File ...