java訪問數據庫

此文中的代碼主要列出連接數據庫的關鍵代碼,其他訪問數據庫代碼省略

1、Oracle8/8i/9i數據庫(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl爲數據庫的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);

2、DB2數據庫
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample爲你的數據庫名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);

3、Sql Server7.0/2000數據庫
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb爲數據庫
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);

If access with jtds:
dis.db.driver=net.sourceforge.jtds.jdbc.Driver
# JDBC "url" of the DIS database that you are connecting to
dis.db.url=jdbc:jtds:sqlserver://tiv-isc01.cn.ibm.com:1433/DIS1

4、Sybase數據庫
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";
//myDB爲你的數據庫名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);

5、Informix數據庫
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//myDB爲數據庫名
Connection conn= DriverManager.getConnection(url);

6、MySQL數據庫
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB爲數據庫名
Connection conn= DriverManager.getConnection(url);

7、PostgreSQL數據庫
Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/myDB"
//myDB爲數據庫名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
//////////////////////////////////////////////////////
//// jdbc連接mysql
//////////////////////////////////////////////////////
1.使用Sun的JDBC-ODBC橋驅動程序,語句爲:
Class.forName("sun.jdbc.odbc.driver.JdbcOdbcDriver");
然後要設置數據源,設置好後ODBC數據源url爲:jdbc:odbc:<數據源名>
連接數據源:DriverManager.getConnection("jdbc:odbc:grade");

2.如果沒有用sun的jdbc-odbc橋驅動程序,最直接的方法是把下載的jdbc驅動拷貝到jre\lib\ext目錄,就不用設置環境變量,就能用加載驅動,如mysql:
mysql-connector-java-5.0.0-beta-bin.jar拷貝到jre\lib\ext
MysqlDriver.java
import java.sql.*;

public class MysqlDriver{
public static void main(String args[]){
try{
//加載數據庫驅動程序類隱式註冊驅動程序, mysql也可以用Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Success loading Mysql Driver!");
}catch(Exception ex){
System.out.println("Error loading Mysql Driver!");
}
try{
String name,xuehao,chinese,math,english;
 Connection conn = null;
 Statement stmt = null;
 ResultSet rs = null;

//創建一個Connection實例建立與數據庫之間的聯繫,
conn = DriverManager.getConnection("jdbc:mysql://localhost/vote?user=root&password=******&characterEncoding=gb2312");
System.out.println("Success connect Mysql Database!");

//Statement對象用於將sql語句發送到數據庫中
  stmt = conn.createStatement();
  rs = stmt.executeQuery("SELECT * FROM grade");
//ResultSet對象包含符合sql語句所有行,並通過一套get()方法對行中數據的訪問。
  while(rs.next()){
 name = rs.getString("name");
 xuehao = rs.getString("num");
 chinese = rs.getString("chinese");
 math = rs.getString("math");
 english = rs.getString("english");
 System.out.println("學號 "+"姓名 "+"語文 "+"數學 "+"英語");
 System.out.println(" "+xuehao+" "+name+" "+chinese+" "+math+" "+english);
 System.out.println();
 }
conn.close();
}catch(SQLException ex){
System.out.println("SQLException:"+ex.getMessage());
System.out.println("SQLState:"+ex.getSQLState());
System.out.println("VendorError:"+ex.getErrorCode());
}
}
}

3.jdbc url參數說明
url格式:jdbc:mysql://[hostname][port]/dbname[?param1=value1][?m2=value2]...
參數名 取值 缺省
user 數據庫用戶名 無
password 數據庫用戶口令 無
autoReconnect 當數據庫連接丟失時是否自動連接,取值true/false false
maxReconnects 如果autoReconnect爲true,此參數爲重試次數,缺省爲3次 3
initialTimeout 如果autoReconnect爲true,此參數爲重新連接前等待的秒數 2
maxRows 設置查詢時返回的行數,0表示全部 0
useUnicode 是否使用unicode輸出,true/false false
characterEncoding 如果useUnicode,該參數制定encoding類型,建議使用8859_1 無
發佈了36 篇原創文章 · 獲贊 6 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章