㈠ 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());
}
}
}
㈡ java怎樣與資料庫連接
public static void main(String[] args) throws Exception {
// 裝載oracle對Driver的實現類
Class.forName("oracle.jdbc.OracleDriver");
// 獲取對oracle連接
String uri = "jdbc:oracle:thin:@資料庫IP:埠號:資料庫名"; // 用於表示連接資料庫的類型和地址
String user = "資料庫用戶名";
String pwd = "資料庫密碼";
Connection con = DriverManager.getConnection(uri, user, pwd);
Statement stmt = con.createStatement();
System.out.println(stmt);
String sql = "SELECT * from s_emp";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.println(
rs.getString(1) + "," + rs.getString(2) + "," + rs.getString(3));
}
rs.close();
stmt.close();
con.close();
}
以上是小案例一個,不過你先要去下載Oracle的驅動JAR包,第一句話就是裝載的意思,其他資料庫也一樣,要有驅動JAR包
㈢ Java中如何與資料庫建立連接
導入java.sql包
一、載入要連接資料庫的驅動程序
//Jdbc-Odbc橋 和 Microsoft Access 資料庫
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// SQL Server 驅動程序:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
註:Class.forName()方法將給定的類載入到JVM,如果系統中不存在給定的類,則會引發異常
二、通過驅動程序管理器得到連接實例
Connection conn=null;
//1.
//1.1建立數據源
conn=DriverManager.getConnection("jdbc:odbc:MyDataSource"); //MyDataSource是數據源名稱
//1-2、不建立數據源
conn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=C:\\VBTest.mdb");
//2.SQL Server
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=mydb","sa","");
註:DriverManager類跟蹤已注冊的驅動程序,通過getConnection(URL)方法, 找到一個能夠連接至URL中指定的資料庫驅動程序
它接收三個參數, 分別表示1 數據源的名稱、類型 2 用戶名(可選) 3 密碼(可選)
三、基於連接對象建立處理器對象
Statement stmt=conn.createStatement();
四、准備sql命令
String sql="select * from Student";
五、執行命令返回結果集
ResultSet rs=stmt.executeQuery(sql);
六、顯示結果集
while(rs.next())//只要後面有記錄
{
//對當前行的所有欄位遍歷
for(int i=1;i<=rs.getMetaData().getColumnCount();i++)
{
System.out.print(rs.getMetaData().getColumnName(i)+": ");//顯示欄位名
System.out.println(rs.getString(i));//顯示欄位當前值
}
System.out.println();
}
七、關閉資源
rs.close(); //關閉記錄集
stmt.close(); //關閉處理器對象
conn.close(); //關閉連接對象
預處理器的應用:
//3.基於連接對象建立預處理器對象
PreparedStatement pstmt=conn.prepareStatement("insert into student values(?,?,?,?)");
//4.給預處理對象的參數賦值
pstmt.setString(1,"8888");
pstmt.setString(2,"nemo");
pstmt.setString(3,"accp");
pstmt.setString(4,"sanxianglu");
//5.執行預處理命令
int i=pstmt.executeUpdate();
System.out.println(i+"條記錄已成功插入!");
㈣ 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();
㈤ 如何實現java與資料庫的連接
JDBC連接資料庫
•創建一個以JDBC連接資料庫的程序,包含7個步驟:
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() ;
}
}
㈥ Java中常見幾種資料庫連接方法
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);
㈦ 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
㈧ java中如何實現資料庫連接
Class.formName(""); // 注冊驅動類.這個字元串是什麼,由要連接的資料庫決定.
Conncection conn = DriverManager.getConnection(url,user,pass); // 通過URL,資料庫用戶名,密碼,取得連接
下邊以Oracle為例.
Class.formName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:SID";
Conncection conn = DriverManager.getConnection(url,user,pass);
㈨ java怎麼和資料庫連接
1、載入驅動程序。
處理結果兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 行中數據的訪問。
Statement
要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
㈩ 怎麼使用JAVA連接資料庫
1、首先我們先建好資料庫,然後建立好程序的目錄,因為是適用於初學者的,所以就建立一個簡單的java project,如圖。