1:引入java.sql數據包;
import java.sql.*;
2:載入JDBC驅動程序
Class.forName(JDBC驅動包的名字).newInstance();
3:產生Connection
如已成功載入JDBC驅動程序,就可以利用載入的驅動程序連接資料庫
Connection con=DriverManager.getConnection(URL,UserName,Password);
URL: JDBC:(subprotocol):(subname)
subprotocol:子協議指定連接何種資料庫或用什麼方式連接資料庫;
subname:確立一個連接,可以是一個數據源名,也可是指向一個網上資料庫.
4:各種連接例:
(1) MySQL資料庫
String Dirver="com.mysql.jdbc.Driver";//驅動程序
String URL="jdbc:mysql://localhost:3306/db_name"; //連接的URL,db_name為資料庫名
String UserName="username"; //用戶名
String Password="password"; //密碼
Class.forName(Driver).newInstance(); //載入資料庫驅動
connection con=DriverManager.getConnection(URL,Username,Password);
(2) Microsoft SQL server 資料庫
String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //驅動程序
String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";
//連接的URL,db_name為資料庫
String UserName="username"; //用戶名
String Password="password"; //密碼
Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);
(3) sybase 資料庫
String Driver="com.sybase.jdbc.sybDriver"; //驅動程序
String URL="jdbc:Sybase://localhost:5007/db_name"; //連接的URL,db_name為資料庫
String UserName="username"; //用戶名
String Password="password"; //密碼
Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);
(4) Oracle(用thin模式)資料庫
String Driver="oracle.jdbc.driver.OracleDriver"; //驅動程序
String URL="jdbc:oracle:thin://localhost:1521:orcl";
//連接的URL,orcl為資料庫的SID
String UserName="username"; //用戶名
String Password="password"; //密碼
Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);
(5) 利用JDBC-ODBC橋連接
String Driver="sun.jdbc.odbc.JdbcodbcDriver"; //驅動程序
String URL="jdbc:odbc:dbsource"; //連接的URL,dbsource為數據源名
String UserName="username"; //用戶名
String Password="password"; //密碼
Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);
B. java中使用JDBC連接資料庫的步驟
1.class.forName("驅動所在類及包名") 還需導入jar包
2.java.sql.Connection conn = DriverManager.getConnection(URL(即資料庫連接的ulr),USERNAME(對應數據的用戶名),PASSWORD(密碼));
3.String sql = "SELECT * FROM tableName WHERE id=?";
4.java.sql.PreparedStatement ptmt = conn.getPreparedStatement(sql);
5.ptmt.setInt(1,id值);
6.java.sql.ResultSet rs = ptmt.executeQuery();
7.while(rs.next){
System.out.println(rs.getString("欄位名"));
}
8.conn.close();ptmt.close();rs.close();
C. 怎麼使用JAVA連接資料庫
1、首先我們先建好資料庫,然後建立好程序的目錄,因為是適用於初學者的,所以就建立一個簡單的java project,如圖。
D. 怎麼用java連接資料庫
首先需要導入相應資料庫的驅動文件,然後要注冊驅動,Class.forname(driverName),獲取Connection對象Connection conn=DriverManager.getConnection(URL);然後獲取PreparedStatement對象PreparedStatement pst=conn.getPreparedState(sql,username,password)其中的username和password是你訪問資料庫的名稱和密碼;如果要使用到返回集合則可以用ResultSet對象接收,ResultSet rs=pst.executeQuery();不要使用到返回集合的話就直接pst.executeQuery();
以上的可以查jdk
1.mysql:driverName的值為:com.mysql.jdbc.Driver;url的值為:jdbc:mysql://localhost:3306/hibernate其中hibernate是你的資料庫名稱
2.sqlserver:driverName的值為:com.microsoft.sqlserver.jdbc.SQLServerDriver;url的值為
jdbc:sqlserver://localhost:1433;DatabaseName=" + database,其中database是你資料庫名稱
3.oracle:driverName的值為:oracle.jdbc.driver.OracleDriver;url的值:jdbc:oracle:thin:@127.0.0.1:1521:ora92,其中ora92是你資料庫名稱;
E. Java資料庫連接 怎麼做
package hw.zy.connection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
/**
* 連接資料庫
* @author 卓越
* 日期:2011-05-23
* */
public class DBConnection {
/**
* 得到一些配置文件的路徑
* */
static ResourceBundle bundle = ResourceBundle
.getBundle("hw.zy.connection.db");
/**
* 實例化DBConnection對象
* */
private static DBConnection instance = new DBConnection();
/**
* 得到一個對象
*
* @return 返回一個DBConnection對象
* */
public static DBConnection getInstance() {
return instance;
}
/**
* 構造函數私有化
* */
private DBConnection() {
}
/**
* 注冊驅動程序
* */
static {
try {
String driver = bundle.getString("driver");
Class.forName(driver);
} catch (ClassNotFoundException e) {
System.out.println("無法載入驅動!");
}
}
/**
* 連接資料庫
* @return 返回一個Connection 對象
* */
public static Connection getConnection() throws SQLException {
String url = bundle.getString("url");
String username = bundle.getString("username");
String password = bundle.getString("password");
return DriverManager.getConnection(url, username, password);
}
/**
* 釋放資源
*
* @param rs
* ,stmt,conn
* */
public void free(ResultSet rs, Statement stmt, Connection conn) {
try {
if (rs != null)
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
} finally {
try {
if (stmt != null)
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
} finally {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
DBConnection aaConnection=new DBConnection();
try {
aaConnection.getConnection();
System.out.println("連接成功!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
配置文件 db.properties
driver=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:ORCL
username=liu
password=abc
F. JAVA訪問資料庫的4種方法是哪些
(1)JDBC-ODBC橋加ODBC驅動程序
JavaSoft橋產品利用ODBC驅動程序提供JDBC訪問。注意,必須將ODBC二進制代碼(許多情況下還包括資料庫客戶機代碼)載入到使用該驅動程序的每個客戶機上。因此,這種類型的驅動程序最適合於企業網(這種網路上客戶機的安裝不是主要問題),或者是用Java編寫的三層結構的應用程序伺服器代碼。
(2)本地API
這種類型的驅動程序把客戶機API上的JDBC調用轉換為Oracle、Sybase、Informix、DB2或其它DBMS的調用。注意,象橋驅動程序一樣,這種類型的驅動程序要求將某些二進制代碼載入到每台客戶機上。
(3)JDBC網路純Java驅動程序
這種驅動程序將JDBC轉換為與DBMS無關的網路協議,之後這種協議又被某個伺服器轉換為一種DBMS協議。這種網路伺服器中間件能夠將它的純Java客戶機連接到多種不同的資料庫上。所用的具體協議取決於提供者。通常,這是最為靈活的JDBC驅動程序。有可能所有這種解決方案的提供者都提供適合於Intranet用的產品。為了使這些產品也支持Internet訪問,它們必須處理Web所提出的安全性、通過防火牆的訪問等方面的額外要求。幾家提供者正將JDBC驅動程序加到他們現有的資料庫中間件產品中。
(4)本地協議純Java驅動程序
這種類型的驅動程序將JDBC調用直接轉換為DBMS所使用的網路協議。這將允許從客戶機機器上直接調用DBMS伺服器,是Intranet訪問的一個很實用的解決方法。由於許多這樣的協議都是專用的,因此資料庫提供者自己將是主要來源,有幾家提供者已在著手做這件事了。
據專家預計第(3)、(4)類驅動程序將成為從JDBC訪問資料庫的首方法。第(1)、(2)類驅動程序在直接的純Java驅動程序還沒有上市前會作為過渡方案來使用。對第(1)、(2)類驅動程序可能會有一些變種,這些變種要求有連接器,但通常這些是更加不可取的解決方案。第(3)、(4)類驅動程序提供了Java的所有優點,包括自動安裝(例如,通過使用JDBC驅動程序的appletapplet來下載該驅動程序)。
G. 用Java怎樣訪問資料庫,用什麼代碼
1. 載入一個對應資料庫的JDBC驅動
在建立到一個資料庫的連接之前,必須先載入這個資料庫的JDBC驅動程序,載入之後此driver會自動注冊到JDBC驅動列表中。載入一個JDBC驅動有兩種方法。
a) 在命令行方式下指定驅動器或者用冒號分割驅動器列表:
具體命令如下:
C:\>java –Djdbc.drivers = com.company1.Driver:com.company2.Driver youProject
b)第二種方法,在程序中調用Class.forName()方法。推薦使用。。。。
try
{
String driverName = 「com.imaginary.sql.msql.MsqlDriver」;
Class.forName(driverName).newInstance();
}
Catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
2.連接到資料庫。
根據您後台待連接的資料庫不同,而有小小的差別。
a) 連接到Oracle資料庫。
Connection connection = null ;
try
{
//load the jdbc driver ;
String driverName = 「oracle.jdbc.driver.OracleDriver」;
Class.forName(driverName).newInstance();
//create a connection to the database;
String serverName = 「127.0.0.1」;
String serverPort = 「1521」;
String serverID = 「datebase1」
String userName = 「hello」;
String userPsw = 「world」;
String url = 「jdbc:oracle.thin:@」 + serverName + 「:」 + serverPort + 「:」 + serverID ;
Connection = DriverManager.getConnection(url , userName , userPsw);
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
b) 連接到一個SQL Server資料庫。
Connection connection = null ;
try
{
//load the jdbc driver ;
String driverName = 「com.microsoft.jdbc.sqlserver.SQLServerDriver」;
Class.forName(driverName).newInstance();
//create a connection to the database;
String serverName = 「127.0.0.1」;
String serverPort = 「1433」;
String serverID = serverName + serverPort ;
String userName = 「hello」;
String userPsw = 「world」;
String url = 「jdbc:JSQLConnect ://」 + serverID ;
Connection = DriverManager.getConnection(url , userName , userPsw);
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
c) 連接到一個MySQL資料庫上。。。。
Connection connection = null ;
try
{
//load the jdbc driver ;
String driverName = 「org.gjt.mm.mysql.Driver」;
Class.forName(driverName).newInstance();
//create a connection to the database;
String serverName = 「127.0.0.1」;
String serverID = 「database」;
String userName = 「hello」;
String userPsw = 「world」;
String url = 「jdbc:mysql ://」 + serverName + 「/」 + serverID ;
Connection = DriverManager.getConnection(url , userName , userPsw);
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
綜合上面的三種資料庫連接方式 , 其實大同小異。由於訪問不同的資料庫和所使用的資料庫驅動程序不同,所以導致代碼表面上有小小不同,但透過表面看來,內部都是
1. 載入一個特定的資料庫JDBC驅動。
2. 連接到一個資料庫。
3. 之後,就可以對一個特定的資料庫進行特定的操作了。
附上各種資料庫的JDBC驅動起可用信息網址:
http://java.sun.com/procts/jdbc
對於Oracle資料庫,請參考:
http://otn.oracle.com.software/content.html
對於MySQL資料庫,請參考:
http://mmMySQL.sourceforge.net
對於SQL Server資料庫,有很多的驅動可選,比較常用的:
http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp
http://www.freetds.org
http://www.datadirect-technologies.com
H. java如何訪問資料庫
Java可以使用JDBC訪問資料庫,也可以使用各類ORM框架訪問資料庫,但這些框架最終還是通過JDBC訪問資料庫,它們只是封裝了資料庫操作,而使得開發者可以減少這部分消耗。因此,本文只講解JDBC訪問方式。
JDBC訪問一般分為如下流程:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驅動程序類 ,載入驅動失敗!");
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例注冊到DriverManager類中。
2、提供JDBC連接的URL
•連接URL定義了連接資料庫時的協議、子協議、數據源標識。
•書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,該對象就代表一個資料庫的連接。
•使用DriverManager的getConnectin(String url,String username,String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("資料庫連接失敗!");
se.printStackTrace() ;
}
4、創建一個Statement
•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
•ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些行中數據的訪問。
•使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1); // 此方法比較高效(列是從左到右編號的,並且從列1開始)
}
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
I. java連接資料庫
java連接資料庫的代碼 位於MVC中的M(模型層)中,主要負責與資料庫打交道。
本人把我以前寫的代碼 加上注釋 給你看看 希望對你有幫助。
public class UserInfoDAO {
//驗證登陸名/密碼sql語句
//private -----這個sql語句只在本類內部使用,沒有必要public
//static -----sql語句僅僅一份就足夠了
//final -----sql語句一般在運行時不變,final修飾的變數相當於常量
//常量名所有字母大寫
private static final String SQL_CHECK_USERINFO =
"SELECT LOGINNAME,USERNAME,PASSWORD,AGE,ADDRESS FROM USERINFO WHERE LOGINNAME=? AND PASSWORD = ?";
public UserInfoDAO() {
}
/**
* 驗證登陸名/密碼方法
* @param u UserInfo
* @return boolean
*/
public boolean checkUser(UserInfo u) {
boolean b = false;//驗證是否成功的標識
Connection conn = null;//資料庫連接的引用
PreparedStatement pstmt = null;//PreparedStatement引用
ResultSet rs = null;//結果集引用
//調用ConnectionManager的方法,得到資料庫里連接實例
conn = ConnectionManager.getConnection();
try {
//通過Connection的prepareStatement()方法構建PreparedStatement實例,參數為sql語句
pstmt = conn.prepareStatement(SQL_CHECK_USERINFO);
//為sql語句中的?賦值,注意序號從1開始
pstmt.setString(1, u.getLoginName());
pstmt.setString(2, u.getPassword());
//執行查詢得到結果集
rs = pstmt.executeQuery();
//在結果集中循環,如果結果集中有記錄意味著驗證成功
b = rs.next();//標識置為true
while (rs.next()) {
b = true;//標識置為true
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} finally {
//注意:一定在finally中釋放資料庫資源
cleanUP(rs, pstmt, conn);
}
return b;
}
private void cleanUP(ResultSet rs, PreparedStatement pstmt, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
}
J. java怎麼和資料庫連接
1、載入驅動程序。
處理結果兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 行中數據的訪問。
(10)java訪問資料庫擴展閱讀:
Statement
要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。