文件名:DBhelper.java
package com.db;
import java.io.File;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Iterator;
import java.util.Properties;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/*
*/
public class DBhelper {
//类的静态变量
private static String driver;
private static String url;
private static String username;
private static String password;
//创建一个私有的实例变量
private static Connection conn=null;
//负责加载驱动
//静态代码块在构造方法之前执行,仅仅执行一次,通常做类的初始化工作
//构造方法通常做对象的初始化工作,比如初始化对象的属性
static{
try{
//加载db.xml属性文档
//使用Java xml解析技术去解析xml文档,dom/sax/dom4j/jdom
//创建SAXReader的对象reader
SAXReader reader=new SAXReader();
//通过reader对象的read方法加载db.xml文件,获取document对象
Document document=reader.read(new File("src/db.xml"));
//通过document对象获取根节点connection
Element connection=document.getRootElement();
//通过element对象的elementIterator方法获取迭代器
Iterator it=connection.elementIterator();
//遍历迭代器,获取根节点中的信息
while(it.hasNext())
{
Element element=(Element)it.next();
String elementName=element.getName();
switch(elementName)
{
case "driver":
driver=element.getStringValue();
break;
case "url":
url=element.getStringValue();
break;
case "username":
username=element.getStringValue();
break;
case "password":
password=element.getStringValue();
break;
}
}
//加载驱动
Class.forName(driver);
}catch(Exception e){
e.printStackTrace();
}
}
//构造方法私有化,处理本类之外,其他任何类都不能创建这个类的对象
private DBhelper()
{
}
//获得数据库的连接对象。
public static Connection getConnection() throws Exception{
if(conn!=null) //说明conn已经实例化过
{
return conn;
}else{
conn=DriverManager.getConnection(url,username,password);
return conn;
}
}
}
测试文件名:Test.java
package com.test;
import java.sql.Connection;
import com.db.DBhelper;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Connection conn1=DBhelper.getConnection();
Connection conn2=DBhelper.getConnection();
if(conn1!=null)
{
System.out.println("数据库连接成功");
}
System.out.println(conn1==conn2);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
XML配置文件名:db.xml
<?xml version="1.0" encoding="UTF-8" ?>
<connection>
<!-- for mysql 连接MySql-->
<!--
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8</url>
<username>root</username>
<password>root</password>
-->
<!-- for oracle 连接Oracle -->
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:oracle:thin:@localhost:1521:orcl</url>
<username>scott</username>
<password>tiger</password>
<!-- for mssql 连接SqlServer-->
<!--
<driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
<url>jdbc:sqlserver://localhost:1433;databaseName=test</url>
<username>sa</username>
<password>123456</password>
-->
</connection>
导入的架包:
dom4j-1.6.1.jar
mysql-connector-java-5.1.7-bin.jar
ojdbc6.jar
sqljdbc4.jar
2025 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123