程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> JAVA使用JDBC技術操作SqlServer數據庫,jdbcsqlserver

JAVA使用JDBC技術操作SqlServer數據庫,jdbcsqlserver

編輯:JAVA綜合教程

JAVA使用JDBC技術操作SqlServer數據庫,jdbcsqlserver


  JDBC(Java Data Base Connectivity,Java數據庫連接)是一種用於執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基准,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序。 JDBC並不能直接訪問數據庫,需要借助於數據庫廠商提供的JDBC驅動程序。

數據庫連接
        如果要在Java訪問數據庫,首先要加載一個數據庫驅動,數據庫驅動只需要在第一次訪問時加載一次。然後再每次訪問數據庫時創建一個Connection實例,獲取數據庫連接,這樣就可以執行操作數據庫的SQL語句。最後用完後釋放掉數據庫的連接。
數據庫驅動類
        不同的數據庫實現JDBC接口不同,所以就產生了不同的數據庫驅動包。驅動包就包含一些負責數據庫連接的類,把我們要操作的SQL語句傳遞到裡面去。我的PC用的是SQL2012,所以我們要去這裡http://www.microsoft.com/zh-cn/search/DownloadResults.aspx?q=jdbc下載驅動

下完後在新建的java_project導入驅動包

右擊選中項目>>Build Path >>Add External Archives... 選中下載解壓的文件

導入成功後的項目:

package com.Project_DataBase01;

import java.sql.Connection;
import java.sql.DriverManager;

public class SelectQuery {
    
    private Connection conn;
    
    /*
     * 創建一個返回Connection的方法
     */
    public Connection getConnection(){
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            System.out.println("數據庫驅動加載成功");
            conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=java_conn_test","sa","123456");
            if(conn==null){
                System.out.println("數據庫連接失敗");
                System.out.println("-----------------------");
            }else {
                System.out.println("數據庫連接成功");
                System.out.println("-----------------------");
            }
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
        return conn;
    }

}

進行SqlServe數據庫java_conn_test中的tb_User進行數據的增刪改查。

package com.Project_DataBase01;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class StartMain {
    
    private static Connection conn;

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        conn=new SelectQuery().getConnection();
        
        GetInsert();
        GetSelect();
        
        GetUpdate();
        GetSelect();
        
        GetDelete();
        GetSelect();
    }

    /*
     * INSERT
     */
    public static void GetInsert(){
        if(conn!=null){
            //INSERT 
            System.out.println("-----------INSERT------------");
            int x=1+(int)(Math.random()*5000);
            String insert_str="INSERT INTO tb_User (UserName,UserPwd,UserId) VALUES ('name_"+x+"','pwd_"+x+"',NEWID())";
            try {
                Statement insertstatement=conn.createStatement();
                int result= insertstatement.executeUpdate(insert_str);
                if(result>0){
                    System.out.println("添加成功");
                    System.out.println("-----------------------");
                }
                else {                    
                    System.out.println("添加失敗");
                    System.out.println("-----------------------");
                }
            } catch (Exception e) {
                System.out.println("添加失敗");
                System.out.println("-----------------------");
                // TODO: handle exception
            }
        }
        else {
            System.out.println("請檢查數據庫連接");
            System.out.println("-----------------------");
        }
    }
    
    /*
     * SELECT
     */
    public static void GetSelect(){
        if(conn!=null){
            
            //SELECT
            System.out.println("-----------SELECT------------");
            String select_str=" SELECT * FROM tb_User ";
            try {
                PreparedStatement selectps=conn.prepareStatement(select_str);
                ResultSet rs=selectps.executeQuery();
                while (rs.next()) {
                    String name=rs.getString("UserName");
                    String pwd=rs.getString("UserPwd");
                    String UserId=rs.getString("UserId");
                    System.out.println(name+"\t"+pwd+"\t"+UserId);
                }
                System.out.println("查詢成功");
                System.out.println("-----------------------");
            } catch (Exception e) {
                // TODO: handle exception
                System.out.println("查詢失敗");
                System.out.println("-----------------------");
            }
        }
        else {
            System.out.println("請檢查數據庫連接");
            System.out.println("-----------------------");
        }
    }

    /*
     * UPDATE
     */
    public static void GetUpdate(){
        if(conn!=null){
            //UPDATE
            System.out.println("-----------INSERT------------");
            String update_str="UPDATE tb_User SET UserPwd=UserPwd+'xxxxxxxx' WHERE UserId='fa562573-218a-4205-b67d-ebdfac3f8329'";
            try {
                Statement updatestatement=conn.createStatement();
                int result=updatestatement.executeUpdate(update_str);
                if(result>0){
                    System.out.println("修改成功!");
                    System.out.println("-----------------------");
                }else {
                    System.out.println("修改失敗");
                    System.out.println("-----------------------");
                }
            } catch (Exception e) {
                // TODO: handle exception
                System.out.println("修改失敗");
                System.out.println("-----------------------");
            }
        }
        else {
            System.out.println("請檢查數據庫連接");
            System.out.println("-----------------------");
        }
    }
    
    /*
     * DELETE
     */
    public static void GetDelete(){
        if(conn!=null){
            //DELETE 
            System.out.println("-----------DELETE------------");
            String delete_str="DELETE tb_User WHERE UserId!='fa562573-218a-4205-b67d-ebdfac3f8329'";
            try {
                Statement deletestatement=conn.createStatement();
                int result=deletestatement.executeUpdate(delete_str);
                if(result>0){
                    System.out.println("刪除成功!");
                    System.out.println("-----------------------");
                }else {
                    System.out.println("刪除失敗");
                    System.out.println("-----------------------");
                }
            } catch (Exception e) {
                // TODO: handle exception
                System.out.println("刪除失敗");
                System.out.println("-----------------------");
            }
        }
        else {
            System.out.println("請檢查數據庫連接");
            System.out.println("-----------------------");
        }
    }

}

運行程序:

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved