『壹』 java如何連接資料庫
JDBC(Java DataBase Connectivity)是Java資料庫連接API。JDBC能完成與一個資料庫建立連接,然後向資料庫發送sql語句,再處理資料庫返回的結果。
JDBC在設計上和ODBC相似。JDBC和資料庫建立連接的一種方式是首先建立起一個JDBC-ODBC橋接器。
首先安裝office2000,就有了Access2000,啟動Access,建立新資料庫mess.mdb,建立包含兩個文本型欄位name和sex的表,表名為member,隨便錄入一些字元串到member表中,保存在任意目錄下,比如說C盤下。然後打開控制面板 -> 管理工具 -> 數據源 (ODBC),選擇"系統DSN",也可以選擇"用戶DSN"選項卡,系統的DSN對每個用戶都適用可避免調試時出現的許可權問題,單擊「添加」,
點擊"完成",彈出的對話框里將"數據源名"一項設為你喜歡的名字,比如redsun。點"選擇",找到"C:\mess.mdb"文件,如此一個ODBC數據源就配置好了。
要連接該數據源,也就是連接資料庫,首先要建立一個JDBC-ODBC橋接器,上面已經說過了,其方法是:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class 是Java.lang包中的一個類,通過調用它的靜態方法forName就可以建立橋接器。但建立橋接器時可能發生異常,這是我們所不想見到的,因此要捕獲這個異常:
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){異常捕獲}
然後就是連接資料庫了,這里要用到java.sql包中的Connection類聲明一個對象,再用類DriverManager調用它的靜態方法getConnection創建這個連接。
Connection con=DriverManager.getConnection("jdbc:odbc:數據源名字","數據源用戶名","數據源密碼");
為防止連接出現異常,這里也要有個異常的處理,具體看代碼:
=========access.java============
程序代碼
import java.sql.*;
public class access{
public static void main(String args[]){
Connection con;
Statement sql; //聲明Statement對象
ResultSet rs;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
System.out.println(""+e);
}
try{
con=DriverManager.getConnection("jdbc:odbc:redsun","","");
sql=con.createStatement();
rs=sql.executeQuery("Select * FROM member");
while(rs.next()){
String name=rs.getString(1); //獲得資料庫第一列
String sex=rs.getString(2);
System.out.println("姓名:"+name); //輸出信息
System.out.println("性別:"+sex);
}
con.close();
}
catch(SQLException el){}
}
}
編繹access.java, 然後在命令提示符中先切換到編繹後的access.class的目錄,執行:
java access 回車
以上這個例子只是簡單的連接資料庫,並靜態游標方式顯示數據,更新、刪除和添加資料庫以前學過sql的很容易理解,語法為:
String xx="sql語句";
Statement對象.executeUpdate(xx);
『貳』 java連接資料庫的代碼
package mysql;
import java.sql.*;
/**
* @author xys
*/
public class ConnectMysql {
public static Connection getConnection() throws ClassNotFoundException, SQLException {
String url = "jdbc:mysql://localhost:3306/databaseName";
String user = "mysqluser";
String password = "password";
String driverClass = "com.mysql.cj.jdbc.Driver";
Connection connection = null;
Class.forName(driverClass);
try {
connection = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
if (connection != null) {
System.out.println("資料庫連接成功");
} else {
System.out.println("資料庫連接失敗");
connection.close();
}
return connection;
}
public void getResult() throws ClassNotFoundException, SQLException {
// 實例化 Statement 對象
Statement statement = getConnection().createStatement();
// 要執行的 Mysql 資料庫操作語句(增、刪、改、查)
String sql = "";
// 展開結果集資料庫
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
// 通過欄位檢索
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
// 輸出數據
System.out.println("ID : " +id);
System.out.println("name :" + name);
}
// 完成後需要依次關閉
resultSet.close();
statement.close();
getConnection().close();
}
}
『叄』 JAVA連接資料庫
java是被稱為跨平台的語言,java里處理資料庫可以用JDBC來實現:
JDBC分為編程介面和驅動程序兩類,編程介面是sun公司提供的,驅動程序則由資料庫公司編寫。我們編程的時候使用介面調用驅動,所以不用關心每種資料庫的具體差異。
除了連接資料庫時代碼不一樣外,編程介面都是統一的,所以增刪改查操作都是一樣的。
連接資料庫必須要裝有相關資料庫的驅動程序才行。
連接資料庫前,必須要做兩件事:
1.創建一個驅動對象
2.用驅動管理器注冊驅動對象
在java里可以有三種方式做到以上兩件事:(以oracle為例)
1.用類反射機制:Class.forName(<資料庫類名>);
Class.forName("oracle.jdbc.driver.OracleDriver");//這段代碼
表面作用是獲取oracle的類對象,實際上,在這段代碼里已經創建了一個oracle的驅動對象,並且在驅動管理器里注冊了。(各位可以想想這個對象是在哪個時候創建的?答案我最後揭曉,很有意思的哈)
2.自己創建驅動對象,並且注冊。
Driver oracle=new oracle.jdbc.driver.OracleDriver();//創建驅動對象。
DriverManager.register(oracle);//注冊驅動程序;
3.利用java虛擬機載入(這個我也不會哈,就不講了)
下面給一個具體連接資料庫的代碼:
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="oracle:jdbc:thin:@<資料庫IP>:<埠號(默認1521)>:<資料庫名>";
String userName="xxx";
String passwd="xxxxxx";
Connection con=DriverManager.getConnection(url,userNme,passwd);//連接資料庫了。
Statement s=con.getStatement();//創建資料庫操作對象
String sql="select * from .....";
s.executeUpdate(sql);//將sql語句送到資料庫,編譯執行sql語句。
//資料庫資源不會自動釋放,所以用完了必須關掉。關閉順序
ResultSet,Statement,Connection(這里沒有用ResultSet所以沒有關閉)。
s.closed();
con.closed();
每種資料庫都是這么連接和執行的。不同的是資料庫類名和url,這些樓主自己去網上搜下很容易找到,樓上諸位都講了好些。
說下4樓的冗餘代碼,並且也公布上面問題的答案:
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
newInstance();這句代碼是多餘的。
因為在類載入的時候,在靜態初始化代碼塊里,已經創建了一個驅動對象,並且已經注冊了。
回答的不錯,自我誇下,樓主給我分哈。
『肆』 開發的Java項目怎麼連接資料庫
先要將相應資料庫的驅動包放到項目的lib目錄下。
conn
=
DriverManager.getConnection(dbURL,
userName,
password);
conn.setAutoCommit(true);
stmt
=
conn.createStatement();
rs
=
stmt.executeQuery(sql);
『伍』 在java中可以用幾種方法連接資料庫
你的問題很難回答啊
如果從內在原理來講就是一種:先載入驅動程序再獲得連接
如果從操作來講我把他分三種:
1,直接在你的代碼中用代碼寫出載入驅動和獲得連接的代碼
2,在windows的數據源中配置一個數據源,這種方法一般不用
3,如果是網站開發可以在web應用的web.xml中配置一個連接池,用時直接從池中獲得連接.
java與資料庫的連接都是通過JDBC介面實現的你如果要問的是JDBC的種類的話你可以查數就4類
1,jdbc-odbc橋
2,jdbc-native方法
3,jdbc-網路
4,jdbc驅動
你如果問JDBC具體有哪些,那隻能告訴你有幾種資料庫就有幾種JDBC.
『陸』 Java中怎麼連接資料庫
1、初學者常見的方式,使用JDBC直連資料庫,載入一下驅動就可以。比較直觀,但是項目中沒人這樣用,因為對於昂貴的資料庫連接沒有管理。
2、項目常見的方式,使用資料庫連接池,DBCP,C3P0,proxool 等等,有統一有效的資料庫連接管理,比較方便。
3、希望對你有幫助。
『柒』 如何將java與資料庫連接請賜教!
先在lib目錄下放入jdbc驅動包
/**
*
* 獲取資料庫連接
*
* @return
*/
public static Connection getConn(){
Connection conn = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databasename=資料庫名", "資料庫登錄名", "資料庫登錄密碼");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
*
* 關閉連接的方法
*
* @param rs
* @param pstmt
* @param conn
*/
public static void closeConn(ResultSet rs,PreparedStatement pstmt,Connection conn){
try {
if(rs!=null){
rs.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if(pstmt!=null){
pstmt.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if(conn!=null){
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
『捌』 怎麼使用JAVA連接資料庫
1、首先我們先建好資料庫,然後建立好程序的目錄,因為是適用於初學者的,所以就建立一個簡單的java project,如圖。
『玖』 Java中如何與資料庫建立連接
導入java.sql包 x0dx0a一、載入要連接資料庫的驅動程序 x0dx0a//Jdbc-Odbc橋 和 Microsoft Access 資料庫 x0dx0aClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); x0dx0a// SQL Server 驅動程序: x0dx0aClass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); x0dx0a註:Class.forName()方法將給定的類載入到JVM,如果系統中不存在給定的類,則會引發異常 x0dx0a二、通過驅動程序管理器得到連接實例 x0dx0aConnection conn=null; x0dx0a//1. x0dx0a//1.1建立數據源 x0dx0aconn=DriverManager.getConnection("jdbc:odbc:MyDataSource"); //MyDataSource是數據源名稱 x0dx0a//1-2、不建立數據源 x0dx0aconn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=C:\\VBTest.mdb"); x0dx0a//2.SQL Server x0dx0aconn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=mydb","sa",""); x0dx0ax0dx0a註:DriverManager類跟蹤已注冊的驅動程序,通過getConnection(URL)方法, 找到一個能夠連接至URL中指定的資料庫驅動程序 x0dx0a它接收三個參數, 分別表示1 數據源的名稱、類型 2 用戶名(可選) 3 密碼(可選) x0dx0a三、基於連接對象建立處理器對象 x0dx0aStatement stmt=conn.createStatement(); x0dx0a四、准備sql命令 x0dx0aString sql="select * from Student"; x0dx0a五、執行命令返回結果集 x0dx0aResultSet rs=stmt.executeQuery(sql); x0dx0a六、顯示結果集 x0dx0awhile(rs.next())//只要後面有記錄 x0dx0a{ x0dx0a//對當前行的所有欄位遍歷 x0dx0afor(int i=1;i<=rs.getMetaData().getColumnCount();i++) x0dx0a{ x0dx0aSystem.out.print(rs.getMetaData().getColumnName(i)+": ");//顯示欄位名 x0dx0aSystem.out.println(rs.getString(i));//顯示欄位當前值 x0dx0a} x0dx0aSystem.out.println(); x0dx0a} x0dx0ax0dx0a七、關閉資源 x0dx0ax0dx0ars.close(); //關閉記錄集 x0dx0astmt.close(); //關閉處理器對象 x0dx0aconn.close(); //關閉連接對象 x0dx0ax0dx0a預處理器的應用: x0dx0ax0dx0a//3.基於連接對象建立預處理器對象 x0dx0aPreparedStatement pstmt=conn.prepareStatement("insert into student values(?,?,?,?)"); x0dx0ax0dx0a//4.給預處理對象的參數賦值 x0dx0apstmt.setString(1,"8888"); x0dx0apstmt.setString(2,"nemo"); x0dx0apstmt.setString(3,"accp"); x0dx0apstmt.setString(4,"sanxianglu"); x0dx0ax0dx0a//5.執行預處理命令 x0dx0aint i=pstmt.executeUpdate(); x0dx0aSystem.out.println(i+"條記錄已成功插入!");