JDBC 快速入门

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();
			}
			
		}

	}
	

}

原文链接: JDBC 快速入门 版权所有,转载时请注明出处,违者必究。
注明出处格式:流沙团 ( http://www.gyarmy.com/post-69.html )

发表评论

0则评论给“JDBC 快速入门”