婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JSP基于JDBC的數據庫連接類實例

JSP基于JDBC的數據庫連接類實例

熱門標簽:如何用中國地圖標注數字點 地圖標注市場怎么樣 企業怎么在聯通申請400電話 南京新思維電話機器人 南昌市地圖標注app 好操作的電話機器人廠家 百度地圖添加標注圖標樣式 泰州泰興400電話 怎么申請 聊城智能電銷機器人外呼

本文實例講述了JSP基于JDBC的數據庫連接類。分享給大家供大家參考,具體如下:

/*
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.yanek.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.PropertyResourceBundle;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
/**
 * @author Administrator
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class Database {
 /**
 * 數據庫訪問URL
 */
 private static String url;
 /**
 * 數據庫驅動
 */
 private static String driver;
 /**
 * 數據庫訪問用戶名
 */
 private static String username;
 /**
 * 數據庫訪問口令
 */
 private static String password;
 /**
 * 訪問類型
 */
 private static String type;
 /**
 * 數據源名稱
 */
 private static String datasource;
 /**
 * 配置文件名稱
 */
 private final static String fileName = "database";
 private static ThreadLocal connection = new ThreadLocal();
 static {
 config();
 }
 private static void config() {
 // 讀取系統配置
 PropertyResourceBundle resourceBundle = (PropertyResourceBundle) PropertyResourceBundle
  .getBundle(fileName);
 // 將系統設置賦值給類變量
 Enumeration enu = resourceBundle.getKeys();
 while (enu.hasMoreElements()) {
  String propertyName = enu.nextElement().toString();
  if (propertyName.equals("database.url"))
  url = resourceBundle.getString("database.url");
  if (propertyName.equals("database.driver"))
  driver = resourceBundle.getString("database.driver");
  if (propertyName.equals("database.username"))
  username = resourceBundle.getString("database.username");
  if (propertyName.equals("database.password"))
  password = resourceBundle.getString("database.password");
  if (propertyName.equals("database.type"))
  type = resourceBundle.getString("database.type");
  if (propertyName.equals("database.datasource"))
  datasource = resourceBundle.getString("database.datasource");
 }
 }
 /**
 * 取得數據庫連接
 * 
 * @return
 * @throws SQLException
 */
 public synchronized static java.sql.Connection getConnection()
  throws SQLException {
 Connection con = (Connection) connection.get();
 if (con != null  !con.isClosed()) {
  return con;
 }
 if ("pooled".equalsIgnoreCase(type)) {
  // 從JNDI中取得數據源
  try {
  // 此處對于不同的應用服務器,對env傳入不同
  Hashtable env = new Hashtable();
  // 此處對于不同的應用服務器,對env傳入不同
  Context ctx = new InitialContext(env); // 從命名系統中獲取 DataSource
  // 工廠對象
  DataSource dataSource = (DataSource) ctx.lookup(datasource);
  con = dataSource.getConnection();
  connection.set(con);
  return con;
  } catch (NamingException e) {
  e.printStackTrace();
  }
 } else {
  // 直接使用JDBC驅動連接
  try {
  Class providerClass = Class.forName(driver);
  con = DriverManager.getConnection(url, username, password);
  con.setAutoCommit(false);
  connection.set(con);
  return con;
  } catch (ClassNotFoundException e) {
  e.printStackTrace();
  }
 }
 return null;
 }
 public static void commit() {
 Connection con = (Connection) connection.get();
 try {
  con.commit();
 } catch (SQLException e) {
  e.printStackTrace();
 }
 }
 public static void rollback() {
 Connection con = (Connection) connection.get();
 try {
  con.rollback();
 } catch (SQLException e) {
  e.printStackTrace();
 }
 }
 public synchronized static void releaseConnection(Connection connection) {
 try {
  if (connection != null  !connection.isClosed())
  connection.close();
 } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 connection = null;
 }
 public static void main(String[] args) {
 try {
  System.out.println("conn:" + Database.getConnection());
 } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 }
}

database.property文件

復制代碼 代碼如下:
database.driver=com.mysql.jdbc.Driver
database.url=jdbc:mysql://localhost/test?user=rootpassword=rootuseUnicode=truecharacterEncoding=gbk

希望本文所述對大家jsp程序設計有所幫助。

您可能感興趣的文章:
  • jsp+jdbc實現連接數據庫的方法
  • JSP中使用JDBC訪問SQL Server 2008數據庫示例
  • 加快JDBC設計中JSP訪問數據庫
  • JDBC操作數據庫的增加、刪除、更新、查找實例分析
  • jdbc操作mysql數據庫實例
  • JDBC鏈接數據庫的幾個步驟
  • JDBC對MySQL數據庫布爾字段的操作方法
  • Java使用JDBC連接數據庫的實現方法

標簽:烏蘭察布 開封 山南 銅川 白銀 吉林 自貢 臨汾

巨人網絡通訊聲明:本文標題《JSP基于JDBC的數據庫連接類實例》,本文關鍵詞  JSP,基于,JDBC,的,數據庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP基于JDBC的數據庫連接類實例》相關的同類信息!
  • 本頁收集關于JSP基于JDBC的數據庫連接類實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 织金县| 常德市| 镇赉县| 阳信县| 方城县| 阳朔县| 平昌县| 锦州市| 永春县| 乐陵市| 白银市| 胶州市| 奉化市| 柳州市| 秦皇岛市| 周至县| 昭苏县| 黔西| 武义县| 甘德县| 咸宁市| 福贡县| 文昌市| 中江县| 德惠市| 南平市| 历史| 宁明县| 柘城县| 招远市| 吴桥县| 黔南| 新巴尔虎左旗| 绿春县| 韶山市| 通城县| 西乌珠穆沁旗| 罗平县| 介休市| 佳木斯市| 贡觉县|