1. 程式人生 > >Java使用JDBC連線SQLserver資料庫(二)

Java使用JDBC連線SQLserver資料庫(二)

將連線資料庫、關閉資料庫、增刪改查資料等對資料庫的操作封裝成操作資料庫的一個類,方便進行資料庫的操作。

一、類的原始碼

程式碼如下:

package com.operationdb;

import java.sql.*;
/**
 * 操作資料庫的類,連線SQLserver資料庫,以及對資料庫的增刪改查操作
 * @author HuDongyang
 *
 */
public class OperationDB {
    //驅動路徑
    private static final String DBDRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
; //資料庫地址 private String DBURL = "jdbc:sqlserver://localhost:1434;DataBaseName="; //資料庫登入使用者名稱 private static final String DBUSER = "sa"; //資料庫使用者密碼 private static final String DBPASSWORD = "123456"; //資料庫連線 public Connection conn = null; //執行SQL語句的介面 public Statement stmt = null
; //要執行的SQL語句 public String SQLStr = null; //資料容器 public ResultSet rs = null; //提示資訊 public String TempInfo = ""; //構造方法 public OperationDB(String DBName) { this.DBURL += DBName; } /** * 連線資料庫 * @return 成功返回true,失敗返回false */ public boolean
linkDB(){ try { Class.forName(DBDRIVER); conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD); stmt = conn.createStatement(); return true; } catch (Exception e) { e.printStackTrace(); try { stmt.close(); conn.close(); } catch (Exception e1) { e1.printStackTrace(); } return false; } } /** * 關閉資料庫連線 * @return 成功返回true,失敗返回false */ public boolean closeDB(){ try { stmt.close(); conn.close(); return true; } catch (Exception e) { e.printStackTrace(); return false; } } /** * 新增資料 * @param TableName 要操作的資料庫表名 * @param InsertValue 要增加的資料 * @param WhereStr 查詢表中是否已存在要新增的資訊 * @return 成功返回true,失敗返回false */ public boolean insertData(String TableName, String InsertValue, String WhereStr){ this.SQLStr = "insert into " + TableName + " values (" + InsertValue + ")"; try { if(stmt.executeQuery("select * from " + TableName + " where " + WhereStr).next()){ TempInfo = "該記錄已存在!"; this.closeDB(); return false; }else{ stmt.executeUpdate(SQLStr); this.closeDB(); return true; } } catch (Exception e) { e.printStackTrace(); this.closeDB(); return false; } } /** * 刪除資料 * @param TableName 要操作的資料庫表名 * @param WhereStr 刪除哪一條記錄 * @return 成功返回true,失敗返回false */ public boolean deleteData(String TableName, String WhereStr){ this.SQLStr = "delete from " + TableName + " where " + WhereStr; try { if(stmt.executeUpdate(SQLStr) != 0){ this.closeDB(); return true; }else{ this.closeDB(); TempInfo = "資料不存在!"; return false; } } catch (SQLException e) { e.printStackTrace(); this.closeDB(); return false; } } /** * 修改資料 * @param TableName 要操作的資料庫表名 * @param UpdateValue 要修改的屬性 * @param WhereStr 要修改哪一條記錄 * @return 成功返回true,失敗返回false */ public boolean updateData (String TableName, String UpdateValue, String WhereStr){ this.SQLStr = "update " + TableName + " set " + UpdateValue + " where " + WhereStr; try { if(stmt.executeUpdate(SQLStr) != 0){ this.closeDB(); return true; }else{ this.closeDB(); TempInfo = "資料不存在!"; return false; } } catch (Exception e) { e.printStackTrace(); this.closeDB(); return false; } } /** * 查詢資料,該方法沒有關閉資料庫連線,因為不能關閉RS結果集 * @param TableName 要操作的資料庫表名 * @param QueryValue 需要查詢的資料 * @param WhereStr 查詢哪一條記錄 * @return 返回一個ResultSet集合 */ public ResultSet queryData(String TableName, String QueryValue, String WhereStr){ if(WhereStr == ""){ this.SQLStr = "select "+ QueryValue + " from " + TableName; }else{ this.SQLStr = "select "+ QueryValue + " from " + TableName + " where " + WhereStr; } try { rs = stmt.executeQuery(SQLStr); } catch (Exception e) { e.printStackTrace(); } return rs; } }

二、類的詳細介紹

1.構造方法

//構造方法
    public OperationDB(String DBName) {
        this.DBURL += DBName;
    }

構造方法中,初始化資料庫地址;不提供無參構造方法。

2.連線資料庫方法

    /**
     * 連線資料庫
     * @return 成功返回true,失敗返回false
     */
    public boolean linkDB(){
        try {
            Class.forName(DBDRIVER);
            conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
            stmt = conn.createStatement();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            try {
                stmt.close();
                conn.close();
            } catch (Exception e1) {
                e1.printStackTrace();
            }
            return false;
        }
    }

該方法載入資料庫驅動;根據之前類中的“資料庫地址”、“資料庫登入使用者名稱”、“資料庫登入密碼”,初始化Connection物件;使用Connection的物件conn例項化Statement介面。

3.關閉資料庫連線方法

    /**
     * 關閉資料庫連線
     * @return 成功返回true,失敗返回false
     */
    public boolean closeDB(){
        try {
            stmt.close();
            conn.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

4.新增資料方法

    /**
     * 新增資料
     * @param TableName 要操作的資料庫表名
     * @param InsertValue 要增加的資料
     * @param WhereStr 查詢表中是否已存在要新增的資訊
     * @return 成功返回true,失敗返回false
     */
    public boolean insertData(String TableName, String InsertValue, String WhereStr){
        this.SQLStr = "insert into " + TableName + " values (" + InsertValue + ")";
        try {
            if(stmt.executeQuery("select * from " + TableName + " where " + WhereStr).next()){
                TempInfo = "該記錄已存在!";
                this.closeDB();
                return false;
            }else{
                stmt.executeUpdate(SQLStr);
                this.closeDB();
                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
            this.closeDB();
            return false;
        }

    }

5.刪除資料方法

    /**
     * 刪除資料
     * @param TableName 要操作的資料庫表名
     * @param WhereStr 刪除哪一條記錄
     * @return 成功返回true,失敗返回false
     */
    public boolean deleteData(String TableName, String WhereStr){
        this.SQLStr = "delete from " + TableName + " where " + WhereStr;
        try {
            if(stmt.executeUpdate(SQLStr) != 0){
                this.closeDB();
                return true;
            }else{
                this.closeDB();
                TempInfo = "資料不存在!";
                return false;
            }
        } catch (SQLException e) {
            e.printStackTrace();
            this.closeDB();
            return false;
        }
    }

6.修改資料方法

    /**
     * 修改資料
     * @param TableName  要操作的資料庫表名
     * @param UpdateValue  要修改的屬性
     * @param WhereStr 要修改哪一條記錄
     * @return 成功返回true,失敗返回false
     */
    public boolean updateData (String TableName, String UpdateValue, String WhereStr){
        this.SQLStr = "update " + TableName + " set " + UpdateValue + " where " + WhereStr;
        try {
            if(stmt.executeUpdate(SQLStr) != 0){
                this.closeDB();
                return true;
            }else{
                this.closeDB();
                TempInfo = "資料不存在!";
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            this.closeDB();
            return false;
        }
    }

7.查詢資料方法

    /**
     * 查詢資料,該方法沒有關閉資料庫連線,因為RS結果集關閉後無法使用
     * @param TableName 要操作的資料庫表名
     * @param QueryValue 需要查詢的資料
     * @param WhereStr 查詢哪一條記錄
     * @return 返回一個ResultSet集合
     */
    public ResultSet queryData(String TableName, String QueryValue, String WhereStr){
        if(WhereStr == ""){
            this.SQLStr = "select "+ QueryValue + " from " + TableName;
        }else{
            this.SQLStr = "select "+ QueryValue + " from " + TableName + " where " + WhereStr;
        }
        try {
            rs = stmt.executeQuery(SQLStr);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return rs;
    }

}

相關推薦

Java使用JDBC連線SQLserver資料庫()

將連線資料庫、關閉資料庫、增刪改查資料等對資料庫的操作封裝成操作資料庫的一個類,方便進行資料庫的操作。 一、類的原始碼 程式碼如下: package com.operationdb; import java.sql.*; /** * 操作資料庫的類

NX次開發-NX連線SqlServer資料庫(增刪改查)C#版

版本:NX9+VS2012+SqlServer2008r2 以前我寫過一個NX連線MySQL資料庫(增刪改查)的文章https://www.cnblogs.com/nxopen2018/p/12297590.html 這次寫一下,NX連線SqlServer資料庫(增刪改查)C#版,使用了ADO.NET技術。

VS2017 Core專案連線SqlServer資料庫 第二章

上一篇文章中,使用vs2017簡單的建立了Core專案,使用Core2.1框架,下面展示Core專案連線SqlServer資料庫 第一步 先配置appsettings.json 第二步 建立models資料夾,以及users類 第三步  右鍵controllers-新增-控制器-

C#連線SQLServer資料庫

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Dat

TP5 連線SQLServer資料庫及多個數據庫切換

phpstudy  php版本5.5.38  TP5.0 1.配置database.php //db1 // 伺服器地址 'hostname' => '127.0.0.1', // 資料庫名 'databa

VS連線SQLSERVER資料庫的幾種方式

一、VS連線本地資料庫(localdb) <add name="TestSqlServer" providerName="System.Data.SqlClient" connectionStr

PHP7.X連線SQLSERVER資料庫(CENTOS7)

1 加入微軟的源 curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo 2 安裝驅動 yum install msodbcsql mssql-tools u

開啟伺服器防火牆 區域網內連線sqlserver資料庫問題

在團隊開發中,經常需要連線伺服器上的資料庫。如果伺服器上防火牆關閉區域網內客戶端連線是沒有問題的。但但防火牆開啟後資料庫往往連線不上。今天剛測試了一下解決了這個問題(至少我能通過了),望各位網友多交流 先交代一下我的sqlserver資料庫是2005,(2008測試了一下也

C#中連線SqlServer資料庫並且使用事務和using語句的例項

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace test2 {

Java連線SQLserver資料庫

首先,需要有一個數據庫,我用的是SQL server 2008版,然後需要去下載一個JDBC驅動,我用的是JDBC for SQLserver 6.0版本,可以去下載這個 sqljdbc_6.0.8112.100_chs.tar.gz:     https://page63

java servlet jdbc 連線sqlserver資料庫查詢和修改

效果圖: 2、Java類 package shop.hh; public class Book { // 編號 private int id; // 圖書名稱 private String name; // 價格 private double price;

Eclipse 連線SQLServer資料庫

1.下載驅動 ,由於Eclipse 不再支援連線SQL SERVER資料庫的,需要手動新增,驅動連結:https://pan.baidu.com/s/1ge9k6Wj 下載解壓後,會得到一個 “Microsoft SQL Server JDBC Driver

C#連線sqlServer資料庫詳解

C# 是如何跟SQL Server進行連線的?        在C#/.NET程式設計中,離不開ADO.NET。ADO.NET是.NET連線資料庫的重要元件。使用其可以很方便地訪問資料庫,ADO.NET還可以訪問Oracle資料庫、Access資料庫、SQL Ser

使用Django建立一個後端是SQLSERVER的簡單系統(一)Django連線SQLServer資料庫

window環境下Django連線SQLSERVER, 1.建立專案: 2.建立application: 3.使用pycharm開啟專案,如下圖: 4.配置虛擬環境: 安裝Django\pyodbc\django-pyodbc-azure,如下圖:   5.在配置環境中

詳解MFC使用ADO連線SQLServer資料庫

VC用ADO訪問資料庫全攻略,介紹了VC用ADO來訪問資料庫的各個物件及各方法,很經典,也很實用,很值得一看。 正文 一、ADO概述 ADO是Microsoft為最新和最強大的資料訪問範例 OLE DB 而設計的,是一個便於使用的應用程式層介面。ADO 使您能夠編寫應用程式

php連線sqlserver資料庫伺服器(或者稱mssql資料庫)的幾種方法

備註:1.用工具軟體連結sqlserver伺服器(例如 Navicat Premium,提供多種連結方式)          2.用程式碼連結sqlserver伺服器(主要有以下幾種php擴充套件驅動) 資料庫查詢不外乎4個步驟,1、建立連線。2、輸入查詢程式碼。3、建立

VC使用ADO連線SQLServer資料庫(精簡實用版)

VC用ADO訪問資料庫全攻略,介紹了VC用ADO來訪問資料庫的各個物件及各方法,很經典,也很實用,很值得一看。 正文 一、ADO概述 ADO是Microsoft為最新和最強大的資料訪問範例 OLE DB 而設計的,是一個便於使用的應用程式層介面。ADO 使您能夠編寫應用程式以通過 OLE. DB 提供者訪

python連線SQLServer資料庫建立資料表同時為每個欄位加上對應的中文註釋資訊

      今天應產品那邊的需求更改,需要在原始的建立資料表的指令碼中加入註釋這一項,SQLServer資料庫其實我是很不熟的,這一段時間完全是因為專案的緣故才會比較多的接觸到這一塊內容,學習一下覺得挺好的。之前的建立表的指令碼寫的也是很low的,當然現在也是比較low的,但

從零開始的java連線sqlserver資料庫教程

通過java連線sqlserver資料庫教程 使用的資料庫是SQL Server 2008,實現利用java對資料庫進行操作。 需要做的準備: SQL Server 2008、JDBC驅動包(sqljdbc_X.X.XX_chs可在微軟官網下載) 一、

Power Designer 連線SqlServer 資料庫 匯出表結構

環境:PowerDesigner15 資料庫sql server 2005 第一步、開啟PowerDesigner ,建立一個物理資料模型,具體如下圖: 第二步、新建成功之後,點選"Databa