xml配置mysql数据库吗_Java ---XML配置文件连接数据库

文件名: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;

/*

JDBC 连接数据库工具类

XML配置文件连接数据库

*/

/**

这个程序可以连接MySQL,Oracle,SQLServer数据库

当你需要连接MySQL数据库时,只需要修改配置文件db.xml,把

Oracle,SQLServer用注释了,即可进行连接MySQL,其他两种数据库相同。

*/

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

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@localhost:1521:orcl

scott

tiger

导入的架包:

dom4j-1.6.1.jar

mysql-connector-java-5.1.7-bin.jar

ojdbc6.jar

sqljdbc4.jar

AAffA0nNPuCLAAAAAElFTkSuQmCC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值