JDBC連線資料庫1
阿新 • • 發佈:2019-01-07
/*
JDBC程式設計六步:
1、註冊驅動
2、獲取資料庫連線
3、獲取資料庫操作物件
4、執行SQL語句
5、處理查詢結果集
6、關閉資源
一、編寫JDBC程式連線資料庫的話,需要先將連線資料庫的驅動jar包配置到環境變數classpath當中:
classpath=.;jar包的路徑
二、JDBC介面的原始碼在哪裡?JDBC介面的位元組碼在哪裡?JDBC介面的幫助文件在哪裡?
api原始碼:SUN公司負責編寫JDBC介面這套規範,JAVA_HOME/src.zip(java.sql.*)
api位元組碼:JRE_HOME/lib/rt.jar
api幫助文件:JDK的幫助文件
三、JDBC介面的MySQL實現類原始碼在哪裡?JDBC介面的MySQL實現類的位元組碼在哪裡?
四、JDBC介面的呼叫程式我們負責來進行開發(我們 ---> JDBC介面 ---> 介面實現類(驅動))
*/
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
public class Test1
{
public static void main(String[] args){
/*
Object obj = new Object();
System.out.println(obj); //[email protected]
*/
Connection conn = null;
Statement stmt = null;
try{
//1、註冊驅動
//註冊驅動這一步完成表示通知了java程式,我們即將連線的是哪個品牌的資料庫
//1.1、建立驅動物件(MySQL的核心驅動類的完整類名:com.mysql.jdbc.Driver)
Driver driver = new com.mysql.jdbc.Driver();
//1.2、註冊驅動
DriverManager.registerDriver(driver);
//2、獲取資料庫連線
//資料庫連線建立之後表示JVM程序和資料庫程序之間通道打開了,兩個程序之間進行通訊,比較耗費資源
//所以資料庫連線物件使用完畢之後一定要關閉。
//MySQL和Oracle預設支援的連線數量不同
//MySQL的連線數量預設支援:my.ini檔案(max_connections=100)
//Oracle的連線數量預設支援:150
/*
url: 統一資源定位符
Union Resources Location(定位網路當中的某個具體存在的資源)
url主要包括:協議+IP+埠+資源名稱
這就是一個URL:http://119.75.213.61:80/index.html
http:// 協議
119.75.213.61 IP地址
80 埠號(代表的是計算機當中的某個應用/程序/服務)
index.html 資源名稱
連線MySQL資料庫的URL:
jdbc:mysql://IP:port/資料庫名
jdbc:mysql://localhost:3306/bjpowernode
Oracle資料庫的URL:
jdbc:oracle:thin:@localhost:1521:bjpowernode
IP地址:本機IP地址是(localhost / 127.0.0.1)
*/
String url = "jdbc:mysql://localhost:3366/bjpowernode";
String user = "root";
String password = "123";
conn = DriverManager.getConnection(url,user,password);
//Connection conn = new com.mysql.jdbc.JDBC4Connection(); //多型
//[email protected]
//類名:com.mysql.jdbc.JDBC4Connection
//System.out.println(conn.toString());
//3、獲取資料庫操作物件
//獲取資料庫操作物件的目的是為了通過該物件去執行SQL語句
stmt = conn.createStatement();
System.out.println(stmt); //com.mysql.jdbc.StatementImpl[email protected]
//可以通過一個連線物件建立多個數據庫操作物件
//Statement stmt2 = conn.createStatement();
//System.out.println(stmt2);
//4、執行SQL語句
//注意:JDBC中的SQL語句不需要提供分號結尾
//String sql = "insert into dept(deptno,dname,loc) values(50,'銷售部','北京')";
//String sql = "update dept set dname='人事部',loc='天津' where deptno=50";
String sql = "delete from dept where deptno = 50";
int count = stmt.executeUpdate(sql); //返回值是int型別,返回的是此SQL語句的執行影響了資料庫表當中幾條記錄。
System.out.println(count);
//5、處理查詢結果集
//當前例子不能處理查詢結果集,因為以上的語句都是DML語句,沒有DQL。
}catch(SQLException e){
e.printStackTrace();
}finally{
//6、關閉資源
if(stmt != null){
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(conn != null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
}
}