package com.itheima.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.junit.Test; import com.mysql.jdbc.Driver; /* * 编写快速 入门的jdbc 程序 : * * 1. 先导入 具体的驱动jar包 * 2. 编写一个类 , 写jdbc 的程序 * * 具体的编写 java类的 代码的步骤: * * 第一步: 注册驱动 --- 告诉 具体的要操作的是那个 数据库 * 第二步: 建立与 数据库的链接---Connection * 第三步: 获得可以发送 sql 语句的 statement 对象 * 第四步: 执行sql 语句, 拿到 结果集对象 * 第五步: 解析结果集中的数据 * 第六步: 释放资源 * */ public class JdbcQuickStart { @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; } } } @Test public void test1() { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 第一步: 注册驱动 DriverManager.registerDriver(new Driver()); // 第二步: 建立与 数据库的链接 // http://localhost:8080/day15/1.html conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/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 (SQLException e) { e.printStackTrace(); }finally{ // 第六步: 释放资源 --- 由于 数据库 链接非常的稀缺, 所以 在 操作完成后,记得释放资源 , 都会放到 finally 代码块 中 try { rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
0则评论给“JDBC 快速入门”