如果要使用數據庫就要添加數據庫的驅動,不同的數據庫有不用的驅動,這裏就不一一說明,添加jar程序驅動包的方法就不在這裏解釋,
下面是一個實例去介紹mysql數據庫的連接,其它數據庫的方法也是差不多的。
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
public class MysqlDemo {
public static void main(String[] args) throws Exception {
Connection conn = null;
String sql;
// MySQL的JDBC URL編寫方式:jdbc:mysql://主機名稱:連接端口/數據庫的名稱?參數=值
// 避免中文亂碼要指定useUnicode和characterEncoding
// 執行數據庫操作之前要在數據庫管理系統上創建一個數據庫,名字自己定,
// 下面語句之前就要先創建javademo數據庫
String url = "jdbc:mysql://localhost:3306/javademo?"
+ "user=root&password=root&useUnicode=true&characterEncoding=UTF8";
try {
// 之所以要使用下面這條語句,是因爲要使用MySQL的驅動,所以我們要把它驅動起來,
// 可以通過Class.forName把它加載進去,也可以通過初始化來驅動起來,下面三種形式都可以
Class.forName("com.mysql.jdbc.Driver");// 動態加載mysql驅動
// or:
// com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
// or:
// new com.mysql.jdbc.Driver();
System.out.println("成功加載MySQL驅動程序");
// 一個Connection代表一個數據庫連接
conn = DriverManager.getConnection(url);
// Statement裏面帶有很多方法,比如executeUpdate可以實現插入,更新和刪除等
Statement stmt = conn.createStatement();
sql = "create table student(NO char(20),name varchar(20),primary key(NO))";
int result = stmt.executeUpdate(sql);// executeUpdate語句會返回一個受影響的行數,如果返回-1就沒有成功
if (result != -1) {
System.out.println("創建數據表成功");
sql = "insert into student(NO,name) values('2012001','陶偉基')";
result = stmt.executeUpdate(sql);
sql = "insert into student(NO,name) values('2012002','周小俊')";
result = stmt.executeUpdate(sql);
sql = "select * from student";
ResultSet rs = stmt.executeQuery(sql);// executeQuery會返回結果的集合,否則返回空值
System.out.println("學號\t姓名");
while (rs.next()) {
System.out
.println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int類型可以用getInt()
}
}
} catch (SQLException e) {
System.out.println("MySQL操作錯誤");
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close();
}
}
}