JavaWeb 第一個JDBC程式
阿新 • • 發佈:2018-12-16
JDBC是Java資料庫連線,是一套用於執行SQL語句的Java API
一、JDBC常用API
1.Driver介面
Driver介面是所有JDBC程式必須實現的介面,在編寫JDBC程式時,必須把所有使用的資料庫驅動程式或者類庫載入到專案的classpath中,
2.DriverManager類
DriverManager類用於載入JDBC驅動並建立資料庫的連線。在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.測試編譯
測試結果如下:
再次查詢資料庫