国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

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

2020-07-27 21:29:04
字體:
來源:轉載
供稿:網友

本文實例講述了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=root&password=root&useUnicode=true&characterEncoding=gbk

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 杨浦区| 房产| 武功县| 望奎县| 右玉县| 西城区| 龙南县| 柳州市| 巴中市| 天柱县| 察雅县| 红原县| 杭州市| 承德市| 民丰县| 巴东县| 叙永县| 当涂县| 白水县| 溧水县| 青州市| 阿合奇县| 古蔺县| 大理市| 密云县| 静乐县| 酒泉市| 元朗区| 工布江达县| 腾冲县| 天峨县| 吉首市| 仙居县| 房山区| 慈溪市| 兰考县| 海丰县| 大新县| 颍上县| 房山区| 大荔县|