1. 程式人生 > >JavaWeb 第一個JDBC程式

JavaWeb 第一個JDBC程式

JDBC是Java資料庫連線,是一套用於執行SQL語句的Java API

一、JDBC常用API

1.Driver介面

Driver介面是所有JDBC程式必須實現的介面,在編寫JDBC程式時,必須把所有使用的資料庫驅動程式或者類庫載入到專案的classpath中,

2.DriverManager類

DriverManager類用於載入JDBC驅動並建立資料庫的連線。在DriverManager類中,定義兩個比較重要的方法

DriverManager
方法名 功能描述
registerDriver(Driver driver) 用於向DriverManager中註冊給定的JDBC驅動程式
getConnection(String url,String name,String password) 用於建立資料庫連線,並且返回表示連線的Connection物件

3.Connection介面

Connection介面在Java中表示java程式與資料庫的連線,只有獲得此連結物件後才能訪問資料庫,並操作資料表

4.Statement介面

Statement介面用於執行靜態的SQL語句,並返回一個物件,該介面物件由Connection例項的createStatement()方法獲得,利用該物件將SQL語句送去資料庫進行執行,然後返回資料庫的處理結果

5.PreparedStatement介面

preparedStatement介面是Statement的子介面,用於執行預編譯的sql語句,該介面拓展了帶有引數的SQL語句的執行操作,應用該介面中的SQL語句可以使用佔位符“?”來代替其引數,然後通過setXXX()方法為SQL語句的引數賦值,

6.ResultSet介面

ResultSet介面用於儲存JDBC執行查詢時返回的的結果集,該結果將會封裝到一個邏輯表格中

二、實現第一個JDBC程式

1.搭建資料庫環境

create database jdbc;

use jdbc;

create table users(
id int primary key auto_increment,
name varchar(40),
password varchar(40),
email varchar(60),
birthday date) character set utf8 collate utf8_general_ci;

insert into users(name,password,email,birthday)
values('za','123456','
[email protected]
','1997-12-04'), ('lisi','123456','[email protected]','1995-08-09'), ('wangwu','123456','[email protected]','1994-05-19');

2、建立一個名為2chapter09的web專案,將下載好的mysql驅動檔案複製到專案中

3.編寫JDBC程式

package cn.itheima.jdbc.example;

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;

public class example01 {

	public static void main(String[] args) throws SQLException {
		Statement stmt  = null;
		ResultSet rs = null;
		Connection conn = null;
		try {
			//1.註冊資料庫驅動
			Class.forName("com.mysql.jdbc.Driver");
			//2.通過DriverManager獲取資料庫連線
			String url = "jdbc:mysql://localhost:3306/jdbc";
			String username = "root";
			String password = "itcast";
			conn = DriverManager.getConnection(url, username, password);
			//3.通過Connection物件獲取Statement物件
			stmt = conn.createStatement();
			//4.使用Statement執行SQL語句
			String sql = "select * from users";
			rs = stmt.executeQuery(sql);
			//5.操作ResultSet結果集
			System.out.println("id|name|password|email|brithday");
			while(rs.next()) {
				int id = rs.getInt("id");
				String name = rs.getString("username");
				String paw = rs.getString("password");
				String email = rs.getString("email");
				Date birthday = rs.getDate("birthday");
				System.out.println(id+"|"+name+"|"+paw+"|"+email+"|"+birthday);
			}
		}catch (ClassNotFoundException e) {
			e.printStackTrace();
		}finally {
			//回收資料庫資源
			if(rs!=null) {
				try {
					rs.close();
				}catch (Exception e) {
					e.printStackTrace();
				}
				rs=null;
			}
			if(stmt!=null) {
				try {
					stmt.close();
				}catch (Exception e) {
					e.printStackTrace();
				}
				stmt=null;
			}
			if(conn!=null) {
				try {
					conn.close();
				}catch (Exception e) {
					e.printStackTrace();
				}
				conn=null;
			}
		}

	}

}

4.測試編譯

測試結果如下:

再次查詢資料庫

可以看到,我們確實將資料庫中的資訊通過jdbc輸出了