1. 程式人生 > >setAutoCommit方法解釋及資料庫連線封裝類

setAutoCommit方法解釋及資料庫連線封裝類

java sql包下的Connection類裡的setAutoCommit方法

在程式中可能一個業務包含兩個或兩個以上的sql操作,這是就需要把兩個sql封裝成一個事務提交,

setAutoCommit預設是ture的狀態,表示每個sql自動提交。

所以我們根據專案情況一般吧它設為false,然後再後邊手動紙箱commit或rollback。

DB資料庫封裝類:

package com.project.util;

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

import org.apache.log4j.Logger;

public class DB{
	private static Logger logger=Logger.getLogger(DB.class.getName());
	
	protected String _driver;
	protected String _url;
	protected String _user;
	protected String _passwd;
	protected String _host;
	protected String _port;
	
	protected Connection _conn;
	protected boolean _Connected = false;
	protected boolean _autoCommit=true;//default:true

	public DB(String driver, String url, String user, String passwd){
		_driver = driver;
		_url=url;
	    _user = user;
	    _passwd = passwd;
	}
	
	public void connect() throws Exception {
	    try {
	    	logger.debug("begin connect db");
			Class.forName(_driver);
		    _conn = DriverManager.getConnection(_url, _user, _passwd);		
			_Connected = true;
			logger.debug("db connected");
			_conn.setAutoCommit(_autoCommit);
	      } catch (Exception e) {
	    	  logger.error("db error" + e.getMessage());
	      }
	}
	
	public Connection get_conn() throws Exception{
		if (!_Connected)
			try {
				connect();
			} catch (Exception e) {
				throw e;
			}
		return _conn;
	}
	
	public void commit(){
		try{
		if(!_conn.getAutoCommit())
			_conn.commit();
		}catch(Exception e){
			logger.error(e);
		}
	}
	
	public void close() throws Exception {
		try {
			_conn.close();
			_Connected = false;
			logger.debug("db closed");	
		} catch (SQLException e) {
			logger.error(e.getMessage());
			throw new Exception(e);
		}
	}
	
	public void set_autoCommit(boolean autoCommit){
		this._autoCommit=autoCommit;
	}
	
	public void set_connectClosed(){
		_Connected=false;
	}
	 
	public String get_url() {
		return _url;
	}

}

相關推薦

setAutoCommit方法解釋資料庫連線封裝

java sql包下的Connection類裡的setAutoCommit方法 在程式中可能一個業務包含兩個或兩個以上的sql操作,這是就需要把兩個sql封裝成一個事務提交, setAutoCommit預設是ture的狀態,表示每個sql自動提交。 所以我們根據專案情況一般

Stoker的Java學習之封裝資料庫連線工具與commons-dbutils

Java學習之封裝資料庫連線工具類與commons-dbutils 一.封裝資料庫連結工具類 public class JDBCUitl { // 宣告連結 private static Connection connection; // 註冊驅動 st

PHP環境配置XAMPP,資料庫連線公共

(1)XAMPP下載地址: https://www.apachefriends.org/download.html (2)安裝各個模組(xdebug) php配置php.ini檔案 apache配置apache.conf (3)資料庫類 <?php  &n

Hibernate的 clear 方法解釋用法

      clear是Hibernate一種強制清除所有session快取的方法。 無論是load還是get,都會查詢快取(一級快取),如果沒有才會去數       據庫查詢,呼叫clear()方法強制清除session快取

C# ADO.NET的五個常用物件資料庫連線操作

C#中和資料庫連線的操作時開發中必不可少的,而ADO.NET就是其中的關鍵技術之一。常見的ADO.NET有五個常用的物件: SqlConnection 資料庫連線物件 SqlCommand 資料庫命令物件 SqlDataAdapter 資料介面卡 SqlDataRea

【php】利用單例模式設計資料庫連線Model

之前在《【php】利用php的建構函式與解構函式編寫Mysql資料庫查詢類》(點選開啟連結)寫過的Mysql資料庫查詢類還不夠完美,利用《【Java】單例模式》(點選開啟連結)介紹的思想可以將這個資料庫連結類搞成單例,不會因為多個使用者訪問網站就建立一個數據庫查詢例項,拖慢

資料庫連線工具BaseDao

package sql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; im

Ubuntu16.04+pycharm+flask的表單提交資料庫連線

實現目標:#·1 表單提交 使用者名稱和登入名#·2 然後跳轉到第二個頁面,展示磁碟檔案中的內容。#·3 在第二個頁面上實現跳轉到第三個頁面按鈕#·4 在第三個頁面上展示資料庫中的內容環境配置:1.安裝pycharm2.安裝virtualenvsudo apt-get ins

簡單的資料庫連線工具DBUtil

import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prep

JDBC資料庫連線連線資料庫資料庫操作DAO層設計通用更新查詢方法(二)

上篇文章主要介紹了通過資料庫連線池連線資料庫,然後設計了對資料庫通用更新和查詢方法,本篇文章主要通過例項介紹上篇文章定義的對資料庫操作的幾個方法的使用:     首先我們先在資料庫建立一個學生資訊表Student欄位如圖: 建立好表將配置檔案的資訊改好然後需要建立一

JDBC資料庫連線連線資料庫資料庫操作DAO層設計通用更新查詢方法(一)

該篇文章介紹了資料庫連線池獲取資料庫連線以及資料庫操作的基本使用,然後主要提供了java專案案例中dao層的一種設計,利用反射的原理定義了通用的查詢方法可以對應所有的表和例項。文章中的每段程式碼都提供了詳細的註釋及邏輯步驟 首先匯入資料庫連線的所需要的jar包:    

人家的Python資料庫連線和sql語句拼接方法

原文出處: sql拼接方法 # encoding=utf-8 from django.http import HttpResponse from anyjson import serialize from django.http import HttpRespon

資料庫連線操作

using System.Configuration;//需要在“引用”中也新增 using System.Data.SqlClient;//SQL資料 using System.Data; using System; using System.Windows.Forms; namesp

自己寫的Python資料庫連線和sql語句拼接方法

這個工具類十分簡單和簡潔。 sql拼接方法 # encoding=utf-8 from django.http import HttpResponse from anyjson import serialize from django.http import HttpRespo

[C++]MYSQL 資料庫操作封裝連線池實現

Database類為單例類、執行緒安全、實現了連線池,並且封裝所需要的操作。 本程式碼在Ubuntu下測試可用,使用Mysql connector c++連線資料庫,並啟用C++11特性。 基本操作如下: //資料庫配置 DbSetting set

封裝一個數據庫連線池工具(connection與threadlocal與資料庫連線池和事務)

package com.itheima.utils; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.St

封裝之MYSQLHelper(C#連線MySql資料庫

using System; using System.Collections; using System.Configuration; using MySql.Data; using MySql.Data.MySqlClient; using System.Da

JDBCUtil-封裝資料庫連線和關閉連線

   JDBC類是對獲得資料庫連線和關閉資料庫連線的一個封裝,在需要使用到資料庫的時候,我們需要訪問資料庫,然後獲得資料庫連線,在一個程式或專案中難免會有多處需要使用到資料庫,所以我i們有必要書寫一個

Java常用工具封裝——連線資料庫的工具

資料庫操作工具類,供大家參考。 package com.itjh.javaUtil; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement

分享關於VC 使用ADO資料庫使用的方法封裝

ADO是目前還較新的訪問資料庫的一種方法,該型別庫提供了 使用各個型別版本資料庫的公共介面,從檔案訪問資料,網路訪問資料,等等操作資料集的一些方法, 接下來分享下關於操作access資料庫的方法封裝類 以此為例,其他資料庫訪問大同小異: #import"C:/Progra