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