当前位置: 移动技术网 > IT编程>开发语言>Java > JSP基于JDBC的数据库连接类实例

JSP基于JDBC的数据库连接类实例

2017年12月08日  | 移动技术网IT编程  | 我要评论

海南车祸,奇美瘦身贴,致命豪门·军长夫人

本文实例讲述了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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网