java連接數據庫的兩種方法總結


方法一:使用jdbc-odbc橋連接sql server,作為中間媒介連接數據庫

  • 1.配置數據源:打開控制面版->管理工具->數據源(ODBC)->選用戶DSN,按下添加按鈕->sql server->寫下數據源的名字(假設是test),再寫下連接的服務器名(一般默認為local或.)->更改默認的數據庫為(勾選你想要連接的數據庫)->接下來一直確定就完成了數據源的配置.
  • 2.加載驅動:Class.forNmae("sun.jdbc.odbc.JdbcOdbcDriver");
  • 3.得到連接:Connection ct=DriverManager.getConnection("jdbc:odbc:test");test是配置數據源的時候的數據源名字
  • 4.創建preparedStateMent,這個語句主要是用於發送sql語句到數據庫.
  • 5.最后關閉資源

代碼:

import java.sql.*;
public class preparedStatement {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    public static void main(String[] args) {
        Connection ct = null;
        PreparedStatement ps = null;
        ResultSet rs=null;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
        try {
            //加載驅動
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            //得到連接
            ct=DriverManager.getConnection("jdbc:odbc:test");
            //創建一個PreparedStatement,用於向數據庫放松sql語句
            ps=ct.prepareStatement("select * from 產品名稱表");
            //得到結果
            rs=ps.executeQuery();//這個方法適用於從表中查找數據
            //如果要向表中插入,刪除,更新數據需要使用方法executeUpdate();
            while(rs.next()){//這里rs.next()一定要使用next()方法,否則有空指針錯誤
                String number=rs.getString(1);
                String string=rs.getString(2);
                System.out.println(number+" "+string);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
            }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 關閉資源,記住關閉資源的順序,根據得到賦值的反順序進行關閉資源
            try {
                if(rs!=null){
                    rs.close();
                }
                if (ps != null)
                    ps.close();
                if (ct != null)
                    ct.close();
            }
            catch(Exception e){
                e.printStackTrace();
            }
        }
    }
}

方法二:使用驅動程序直接操作數據庫(這個方法更多人使用,但是前期所做的工作更多)

  • 1.需要引入jar包,sql server2008只要引入sqljdbc4.jar包就行了。這個包百度上有下載。
    這是我下載的網址:http://download.csdn.net/download/a785143175/5163519
    導入方法:工具欄project選項->properties->java Build path中選擇libraries->點擊add Externar jars按鈕->然后在你電腦中選中sqljdbc4.jar導入進去
  • 2.連接數據庫一般是使用sql驗證,所以需要你自己建立帳號密碼。
    方法:先用windows驗證進入數據庫,然后在安全性中點擊鼠標右鍵新建登錄名,勾選SQL身份驗證,將強制密碼過期不選,點擊確定。然后斷開連接,重新以現在的用戶名和密碼連接。然后在這個用戶名中新建數據庫就好。
  • 3、接下來的代碼部分跟odbc類似,有些小小的不同。

代碼:

import java.sql.*;
public class jdbc1 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Connection ct = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            //第一步,加載驅動
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            //得到連接
            ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=liuyan","sa","3209554");
            //創建PreparedStatement
            ps=ct.prepareStatement("select * from userinformation where name='張三豐'");                                            
            rs=ps.executeQuery();
            //這個方法適用於從表中查找數據
            //如果要向表中插入,刪除,更新數據需要使用方法executeUpdate();
            while(rs.next()){//這里rs.next()一定要使用next()方法,否則有空指針錯誤
                String number=rs.getString(1);
                String string=rs.getString(2);
                String string2=rs.getString(3);
                System.out.println(number+" "+string+" "+string2);                                                
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
                if(rs!=null){
                    rs.close();
                }
                if (ps != null)
                    ps.close();
                if (ct != null)
                    ct.close();
            }
            catch(Exception e){
                e.printStackTrace();
            }
        }
    }
}

幾點注意

  • 我們每次在連接數據庫前都必須要引入sql包:import java.sql.*

  • 我們還可以使用?賦值的方法
    ps=ct.prepareStatement("select * from 產品名稱表 whrer 產品名稱=?");
    ps.setString(1,"手機");//表示在第一個問號上添加“手機”的字符串.如果是整數用setInt()方法;

總結

經過了一個下午和一個晚上的奮斗,終於將myeclipse和數據庫連接成功了。中間出現了好多問題:找不到包(到現在也不知道為什么會找不到),空指針異常,通過端口1433連接到主機失敗,遠程過程調試失敗。感覺都快要崩潰了,好在最后還是連上了。學習新東西的過程就是漫長又磨人的,但學成之后還是充滿了成就感。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM