Java連接數(shù)據(jù)庫(以MySQL為例)2007-04-05 02:23 這篇文章主要以MySQL為例講下Java如何連接到數(shù)據(jù)庫的。
當然,首先要安裝有JDK(一般是JDK1.5.X)。然后安裝MySQL,這些都比較簡單,具體過程就不說了。配置好這兩個環(huán)境后,下載JDBC驅動
mysql-connector-java-5.0.5.zip(這個是最新版的)。然后將其解壓縮到任一目錄。我是解壓到D盤,然后將其目錄下的
mysql-connector-java-5.0.5-bin.jar加到classpath里,具體如下:“我的電腦”-> “屬性”
-> “高級” ->
“環(huán)境變量”,在系統(tǒng)變量那里編輯classpath,將D:"mysql-connector-java-5.0.5"mysql-
connector-java-5.0.5-bin.jar加到最后,在加這個字符串前要加“;”,以與前一個classpath區(qū)分開。然后確定。
環(huán)境配置好了,很簡單。現(xiàn)在,先配置MySQL,設其用戶名為“root”,密碼為“root”。在命令行或用一個SQL的前端軟件創(chuàng)建Database。
我是用SQLyog的前端軟件來創(chuàng)建Database的。
先創(chuàng)建數(shù)據(jù)庫:
CREATE DATABASE SCUTCS;
接著,創(chuàng)建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.00,
PRIMARY KEY(SNO)
);
然后插入數(shù)據(jù),可以用SQL語句insert into <表名> values (value1, value2, ...);
也可以用SQLyog來操作
好了,創(chuàng)建好了。
下面,我們來編寫.java文件來演示一下如何訪問MySQL數(shù)據(jù)庫。
import java.sql.*;
public class JDBCTest {
public static void main(String[] args){
// 驅動程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要訪問的數(shù)據(jù)庫名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置時的用戶名
String user = "root";
// MySQL配置時的密碼
String password = "root";
try {
// 加載驅動程序
Class.forName(driver);
// 連續(xù)數(shù)據(jù)庫
Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
// statement用來執(zhí)行SQL語句
Statement statement = conn.createStatement();
// 要執(zhí)行的SQL語句
String sql = "select * from student";
// 結果集
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("執(zhí)行結果如下所示:");
System.out.println("-----------------");
System.out.println(" 學號" + ""t" + " 姓名");
System.out.println("-----------------");
String name = null;
while(rs.next()) {
// 選擇sname這列數(shù)據(jù)
name = rs.getString("sname");
// 首先使用ISO-8859-1字符集將name解碼為字節(jié)序列并將結果存儲新的字節(jié)數(shù)組中。
// 然后使用GB2312字符集解碼指定的字節(jié)數(shù)組
name = new String(name.getBytes("ISO-8859-1"),"GB2312");
// 輸出結果
System.out.println(rs.getString("sno") + ""t" + name);
}
rs.close();
conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
}
接下來我們運行一下看下效果:
D:"testjdbc>javac JDBCTest.java
D:"testjdbc>java JDBCTest
Succeeded connecting to the Database!
-----------------------
執(zhí)行結果如下所示:
-----------------------
學號 姓名
-----------------------
0104421 周遠行
0208123 王義平
哈哈,成功啦