當前位置:首頁 » 編程語言 » java連接sql代碼

java連接sql代碼

發布時間: 2025-03-29 11:02:18

java如何實現sql連接和查詢的代碼

import java.sql.Connection。

Ⅱ Java如何連接SQL

第一通過ODBC數據源連接
package dbmanager;

import java.sql.*;
public class Sql {
public Sql() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}

/**
* jbInit
*/
private void jbInit() {
}

public static Connection getConnection() {
Connection con = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ce) {
System.out.println(ce);
}
try {
//test為數據猿名稱
String url = "jdbc:odbc:test";
String str;
con = DriverManager.getConnection(url);
} catch (SQLException ce) {
System.out.println(ce);
}

return con;
}
}
配置ODBC數據源
winxp系統,開始-控制面板-性能和維護-管理工具-ODBC數據源-
添加-sql server(在最下方)-完成-數據源名:test-伺服器:.
-下一步-下一步-更改連接的資料庫-下一步-完成-測試數據源
我QQ459193055

第二,通過JDBC直接連接資料庫
package sqlconn;

import java.sql.*;

public class Conn {
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String ConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";

public Conn()
{
try
{
Class.forName(DBDriver).newInstance();
conn=DriverManager.getConnection(ConnStr,"sa","sa");

}
catch(SQLException e)
{
System.out.println(e.getMessage());
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}

public static Connection getConn() //獲取連接方法
{
return conn;
}
需要三個文件做驅動程序

Ⅲ java 怎麼連接sql資料庫 幫忙步驟講解以及代碼參考

首先,使用JDBC技術獲取資料庫連接:
public static Connection getConnection(){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "root", "root");
return con;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
Class.forName(資料庫驅動);
這是JVM在載入資料庫驅動。
DriverManager.getConnection(url,username,password);
url是指連接資料庫的地址。
像上面我寫的URL是這樣的:jdbc:oracle:thin:@127.0.0.1:1521:orcl
127.0.0.1是指本機,也可以用localhost代替,1521是資料庫埠號(本人用的是oracle10g),orcl是指oracle_sid。username/password資料庫的用戶名和密碼。有的資料庫的url可能不是這樣。當然可以去網上查一下就知道了。

這種連接方法是一次請求一次連接,是比較浪費資源的。
像tomcat,weblogic等伺服器都帶有連接池來避免資源的浪費,而且現在好象有規定,只要是伺服器就必須帶有連接池。
至於連接池的連接方法,不同的伺服器有不同的獲得方法。建議你用哪個就去學哪個。

有連接就有關閉資料庫,獲得資料庫連接後一定要記得關閉資源。
public static void close(Connection con){
if(con!=null){
try{con.close();}catch(Exception e){}
}
}
為了方便,不防寫成一個方法。

獲取連接後,然後使用這個連接去創建相應的Statement來操作資料庫。
有Statement,PerparedStatement,CallableStatement這幾種statement可以用來創建。
我們先看看Statement的使用。
public static void main(String[] args) {
Connection con=JDBCUtil.getConnection();
Statement stat=null;
ResultSet rs=null;
try{
String sql="select a_id,a_name,a_no from a";
stat=con.createStatement();
rs=stat.executeQuery(sql);
while(rs.next()){
System.err.println(rs.getInt(1)+"/"+rs.getString(2)+"/"+rs.getInt(3));
}
}catch(Exception e){
e.printStackTrace();
}
JDBCUtil.close(rs,stat,con);
}
注釋:
stat=con.createStatement();是用連接創建Statement對象。
stat.executeQuery(sql);是執行查詢語句。這個方法返回的是一個結果集。即ResultSet。可以將查詢出來的結果放入結果集中。
rs.next()這個方法返回的一個boolean類型的值,即當指針能夠往下走時,返回true,否則返回false。這樣就可以保證能夠遍歷這個結果集了。

當然這里出現了Statement,ResultSet,那麼close()方法也得變化了。
如下:
public static void close(ResultSet rs,Statement stat,Connection con){
if(rs!=null){
try{rs.close();}catch(Exception e){}
}
if(stat!=null){
try{stat.close();}catch(Exception e){}
}
if(con!=null){
try{con.close();}catch(Exception e){}
}
}
注意關閉順序,一定是先ResultSet,後Statement,最後Connection.
由於PerparedStatement和CallableStatement都是Statement的實現類,根據JAVA多態的用法,close()方法就算完全寫完了,不用改了。

現在來看看結果:
2/all/2
1/hello/1

===================================================================
現在我們用PerparedStatement來查詢:
Connection con=JDBCUtil.getConnection();
PreparedStatement stat=null;
ResultSet rs=null;
try{
String sql="select a_id,a_name,a_no from a where a_id=?";
stat=con.prepareStatement(sql);
stat.setInt(1, 1);
rs=stat.executeQuery();
while(rs.next()){
System.err.println(rs.getInt(1)+"/"+rs.getString(2)+"/"+rs.getInt(3));
}
}catch(Exception e){
e.printStackTrace();
}
JDBCUtil.close(rs,stat,con);
這里的sql語句里有一個值是未確定的。這樣就可以實現預編譯,大大提高了程序的運行效率。流程如下:
stat=con.prepareStatement(sql);這個方法就將這個sql語句進行了一次編譯,查看有沒有什麼明顯的語法錯誤等。
如果沒錯,再通過stat.setInt(1, 1);將缺失的值補回去然後再執行sql查詢。
PreparedStatement為批處理提供了一系統方法,讓批查詢、批更新等更加的效率。

讓我們看看結果:
1/hello/1
==============================================================
CallableStatement是專門用於處理存儲過程的。
如果想深入的學習,建議你去查看相關資料。

熱點內容
管理員文件怎麼刪除文件夾許可權刪除文件夾 發布:2025-04-01 19:51:43 瀏覽:139
偉峰辦公怎麼查伺服器地址 發布:2025-04-01 19:33:43 瀏覽:321
腳本置父窗口 發布:2025-04-01 19:19:52 瀏覽:313
微信營銷源碼下載 發布:2025-04-01 18:55:22 瀏覽:886
路由器搭建web伺服器 發布:2025-04-01 18:52:56 瀏覽:719
vc編譯器版本 發布:2025-04-01 18:48:59 瀏覽:807
sqlserverbak 發布:2025-04-01 18:48:57 瀏覽:56
安卓手機如何打開7z文件視頻教程 發布:2025-04-01 18:35:06 瀏覽:404
本田風尚算什麼配置 發布:2025-04-01 18:29:56 瀏覽:6
30p壓縮機 發布:2025-04-01 18:29:54 瀏覽:655