- 浏览: 77664 次
- 性别:
- 来自: 金华
最新评论
JAVA读取XML文件并利用该文件对数据库进行配置操作
//JAVA读取XML文件并利用该文件对数据库进行配置操作
//****************************************************************
//****************XML文件(database.xml)**************
<?xml version="1.0" encoding="GB2312"?>
<administrator>
<!--原数据库-->
<drivername>com.informix.jdbc.IfxDriver</drivername>
<username>informix</username>
<password>informix</password>
<datebase_url>jdbc:informix-sqli://192.168.0.1:1526/db_das:INFORMIXSERVER=jl_das;</datebase_url>
<maxactive>5</maxactive>
<maxidle>1</maxidle>
<maxwait>8000</maxwait>
<!--新数据库-->
<drivername>com.informix.jdbc.IfxDriver</drivername>
<username>informix</username>
<password>informix</password>
<datebase_url>jdbc:informix-sqli://192.168.0.173:1526/jl_das:INFORMIXSERVER=ol_chinaren5;</datebase_url>
<maxactive>5</maxactive>
<maxidle>1</maxidle>
<maxwait>8000</maxwait>
</administrator>
//****************************************************************
//****************读取XML文件的类**************
package readXml;
import org.w3c.dom.*;
import javax.xml.parsers.*;
/**
* @author dongyanyong
* @version 1.0
* @读取XML文件
*/
public class ReadFromXml
{
private Document doc;
private DocumentBuilderFactory dbf;
private DocumentBuilder db;
public ReadFromXml()
{
try{
dbf=DocumentBuilderFactory.newInstance();
db=dbf.newDocumentBuilder();
doc=db.parse("database.xml");
}
catch(Exception e)
{
System.out.println("DB xml not found!");
e.printStackTrace();
}
}
//-----------------------------------------------------------------
// 参数:空 返回值:databaseinfo 数组
public String[] getXmlTag()
{
String[] databaseinfo=new String[14];
try{
databaseinfo[0]=doc.getElementsByTagName("drivername").item(0).getFirstChild().getNodeValue();
databaseinfo[1]=doc.getElementsByTagName("username").item(0).getFirstChild().getNodeValue();
databaseinfo[2]=doc.getElementsByTagName("password").item(0).getFirstChild().getNodeValue();
databaseinfo[3]=doc.getElementsByTagName("datebase_url").item(0).getFirstChild().getNodeValue();
databaseinfo[4]=doc.getElementsByTagName("maxactive").item(0).getFirstChild().getNodeValue();
databaseinfo[5]=doc.getElementsByTagName("maxidle").item(0).getFirstChild().getNodeValue();
databaseinfo[6]=doc.getElementsByTagName("maxwait").item(0).getFirstChild().getNodeValue();
databaseinfo[7]=doc.getElementsByTagName("drivername").item(1).getFirstChild().getNodeValue();
databaseinfo[8]=doc.getElementsByTagName("username").item(1).getFirstChild().getNodeValue();
databaseinfo[9]=doc.getElementsByTagName("password").item(1).getFirstChild().getNodeValue();
databaseinfo[10]=doc.getElementsByTagName("datebase_url").item(1).getFirstChild().getNodeValue();
databaseinfo[11]=doc.getElementsByTagName("maxactive").item(1).getFirstChild().getNodeValue();
databaseinfo[12]=doc.getElementsByTagName("maxidle").item(1).getFirstChild().getNodeValue();
databaseinfo[13]=doc.getElementsByTagName("maxwait").item(1).getFirstChild().getNodeValue();
}
catch(Exception e)
{
System.out.println("read xml content error!");
e.printStackTrace();
}
return databaseinfo;
}
//----------------------------------------------------------------
}
//****************************************************************
//*******对数据库操作的类(应用读取到的XML)**********
package readXML;
import java.sql.*;
import org.apache.commons.dbcp.*;
/**
* @author dongyanyong
* @version 1.0
* @对数据库进行操作的类
*/
public class PoolManager
{
private static PoolManager pool = new PoolManager();
private BasicDataSource bds = null;
//存放读取xml文件返回值的数组
private String[] dbinfo;
//声明类的实例
ReadFromXml read1;
private PoolManager()
{
bds = new BasicDataSource();
dbinfo=new String[14];
read1=new ReadFromXml();
dbinfo=read1.getXmlTag();
bds.setDriverClassName(dbinfo[7]);
bds.setUsername(dbinfo[8]);
bds.setPassword(dbinfo[9]);
bds.setUrl(dbinfo[10]);
bds.setMaxActive(Integer.parseInt(dbinfo[11]));
bds.setMaxIdle(Integer.parseInt(dbinfo[12]));
bds.setMaxWait(Integer.parseInt(dbinfo[13]));
}
//---------------------------------------------------------------
public static PoolManager getInstance()
{
return pool;
}
//---------------------------------------------------------------
public Connection getConnection() throws java.sql.SQLException
{
return bds.getConnection();
}
//---------------------------------------------------------------
public static void closeRs(ResultSet rs)
{
if(rs != null)
{
try{
rs.close();
}
catch(java.sql.SQLException ex)
{
System.out.println(ex);
}
}
}
//---------------------------------------------------------------
public static void closeSs(Statement ss)
{
if(ss != null)
{
try{
ss.close();
}
catch(java.sql.SQLException ex)
{
System.out.println(ex);
}
}
}
//----------------------------------------------------------------
public static void closeConnection(Connection conn)
{
if(conn != null)
{
try{
conn.close();
}
catch(java.sql.SQLException ex)
{
System.out.println(ex);
}
}
}
//----------------------------------------------------------------
}
//****************************************************************
package readXML;
import java.sql.*;
import java.lang.*;
import readXML.PoolManager;
/**
* @author dongyanyong
* @version 1.0
* @利用对数据库进行操作的类进行对数据库操作
*/
public class ExecuteSQL
{
private Connection conn = null,conn1=null;
private PreparedStatement ps = null,ps1=null;
private ResultSet rs = null;
private PoolManager pool = null;
private String message=null; //接收函数返回消息
public ExecuteSQL()
{
pool=PoolManager.getInstance();
}
//----------------------------------------------------------------
private String ExcutSql(String sql)
{ //利用得到的sql语句来执行
System.out.println(sql);
try{
conn = pool.getConnection();
ps = conn.prepareStatement(sql);
int k=ps.executeUpdate();
}
catch(java.sql.SQLException e)
{
System.out.print(e);
return e.toString();
}
finally
{
PoolManager.closeSs(ps);
PoolManager.closeConnection(conn);
}
return "ok";
}
//----------------------------------------------------------------
private String InsertIn()
{
/*执行sql*/
String sql=" insert into tableA values('a','c','s','s') ";
message=ExcutSql(sql);
if(!message.equals("ok"))
return message;
else
return "ok";
}
//---------------------------------------------------------------------------------
}
//****************************************************************
//JAVA读取XML文件并利用该文件对数据库进行配置操作
//****************************************************************
//****************XML文件(database.xml)**************
<?xml version="1.0" encoding="GB2312"?>
<administrator>
<!--原数据库-->
<drivername>com.informix.jdbc.IfxDriver</drivername>
<username>informix</username>
<password>informix</password>
<datebase_url>jdbc:informix-sqli://192.168.0.1:1526/db_das:INFORMIXSERVER=jl_das;</datebase_url>
<maxactive>5</maxactive>
<maxidle>1</maxidle>
<maxwait>8000</maxwait>
<!--新数据库-->
<drivername>com.informix.jdbc.IfxDriver</drivername>
<username>informix</username>
<password>informix</password>
<datebase_url>jdbc:informix-sqli://192.168.0.173:1526/jl_das:INFORMIXSERVER=ol_chinaren5;</datebase_url>
<maxactive>5</maxactive>
<maxidle>1</maxidle>
<maxwait>8000</maxwait>
</administrator>
//****************************************************************
//****************读取XML文件的类**************
package readXml;
import org.w3c.dom.*;
import javax.xml.parsers.*;
/**
* @author dongyanyong
* @version 1.0
* @读取XML文件
*/
public class ReadFromXml
{
private Document doc;
private DocumentBuilderFactory dbf;
private DocumentBuilder db;
public ReadFromXml()
{
try{
dbf=DocumentBuilderFactory.newInstance();
db=dbf.newDocumentBuilder();
doc=db.parse("database.xml");
}
catch(Exception e)
{
System.out.println("DB xml not found!");
e.printStackTrace();
}
}
//-----------------------------------------------------------------
// 参数:空 返回值:databaseinfo 数组
public String[] getXmlTag()
{
String[] databaseinfo=new String[14];
try{
databaseinfo[0]=doc.getElementsByTagName("drivername").item(0).getFirstChild().getNodeValue();
databaseinfo[1]=doc.getElementsByTagName("username").item(0).getFirstChild().getNodeValue();
databaseinfo[2]=doc.getElementsByTagName("password").item(0).getFirstChild().getNodeValue();
databaseinfo[3]=doc.getElementsByTagName("datebase_url").item(0).getFirstChild().getNodeValue();
databaseinfo[4]=doc.getElementsByTagName("maxactive").item(0).getFirstChild().getNodeValue();
databaseinfo[5]=doc.getElementsByTagName("maxidle").item(0).getFirstChild().getNodeValue();
databaseinfo[6]=doc.getElementsByTagName("maxwait").item(0).getFirstChild().getNodeValue();
databaseinfo[7]=doc.getElementsByTagName("drivername").item(1).getFirstChild().getNodeValue();
databaseinfo[8]=doc.getElementsByTagName("username").item(1).getFirstChild().getNodeValue();
databaseinfo[9]=doc.getElementsByTagName("password").item(1).getFirstChild().getNodeValue();
databaseinfo[10]=doc.getElementsByTagName("datebase_url").item(1).getFirstChild().getNodeValue();
databaseinfo[11]=doc.getElementsByTagName("maxactive").item(1).getFirstChild().getNodeValue();
databaseinfo[12]=doc.getElementsByTagName("maxidle").item(1).getFirstChild().getNodeValue();
databaseinfo[13]=doc.getElementsByTagName("maxwait").item(1).getFirstChild().getNodeValue();
}
catch(Exception e)
{
System.out.println("read xml content error!");
e.printStackTrace();
}
return databaseinfo;
}
//----------------------------------------------------------------
}
//****************************************************************
//*******对数据库操作的类(应用读取到的XML)**********
package readXML;
import java.sql.*;
import org.apache.commons.dbcp.*;
/**
* @author dongyanyong
* @version 1.0
* @对数据库进行操作的类
*/
public class PoolManager
{
private static PoolManager pool = new PoolManager();
private BasicDataSource bds = null;
//存放读取xml文件返回值的数组
private String[] dbinfo;
//声明类的实例
ReadFromXml read1;
private PoolManager()
{
bds = new BasicDataSource();
dbinfo=new String[14];
read1=new ReadFromXml();
dbinfo=read1.getXmlTag();
bds.setDriverClassName(dbinfo[7]);
bds.setUsername(dbinfo[8]);
bds.setPassword(dbinfo[9]);
bds.setUrl(dbinfo[10]);
bds.setMaxActive(Integer.parseInt(dbinfo[11]));
bds.setMaxIdle(Integer.parseInt(dbinfo[12]));
bds.setMaxWait(Integer.parseInt(dbinfo[13]));
}
//---------------------------------------------------------------
public static PoolManager getInstance()
{
return pool;
}
//---------------------------------------------------------------
public Connection getConnection() throws java.sql.SQLException
{
return bds.getConnection();
}
//---------------------------------------------------------------
public static void closeRs(ResultSet rs)
{
if(rs != null)
{
try{
rs.close();
}
catch(java.sql.SQLException ex)
{
System.out.println(ex);
}
}
}
//---------------------------------------------------------------
public static void closeSs(Statement ss)
{
if(ss != null)
{
try{
ss.close();
}
catch(java.sql.SQLException ex)
{
System.out.println(ex);
}
}
}
//----------------------------------------------------------------
public static void closeConnection(Connection conn)
{
if(conn != null)
{
try{
conn.close();
}
catch(java.sql.SQLException ex)
{
System.out.println(ex);
}
}
}
//----------------------------------------------------------------
}
//****************************************************************
package readXML;
import java.sql.*;
import java.lang.*;
import readXML.PoolManager;
/**
* @author dongyanyong
* @version 1.0
* @利用对数据库进行操作的类进行对数据库操作
*/
public class ExecuteSQL
{
private Connection conn = null,conn1=null;
private PreparedStatement ps = null,ps1=null;
private ResultSet rs = null;
private PoolManager pool = null;
private String message=null; //接收函数返回消息
public ExecuteSQL()
{
pool=PoolManager.getInstance();
}
//----------------------------------------------------------------
private String ExcutSql(String sql)
{ //利用得到的sql语句来执行
System.out.println(sql);
try{
conn = pool.getConnection();
ps = conn.prepareStatement(sql);
int k=ps.executeUpdate();
}
catch(java.sql.SQLException e)
{
System.out.print(e);
return e.toString();
}
finally
{
PoolManager.closeSs(ps);
PoolManager.closeConnection(conn);
}
return "ok";
}
//----------------------------------------------------------------
private String InsertIn()
{
/*执行sql*/
String sql=" insert into tableA values('a','c','s','s') ";
message=ExcutSql(sql);
if(!message.equals("ok"))
return message;
else
return "ok";
}
//---------------------------------------------------------------------------------
}
//****************************************************************
相关推荐
java从xml中读入数据并存入到sqlserver2005数据库中
xml文件导入到mysql数据库中,包括文件:ConnectionUtils.java,InsertDT.java,db_mysql.properties,test01.xml,需要的jar包dom4j-1.6.1.jar,mysql-connection-java-3.1.1.3-bin.jar,jaxen-1.1-beta-7.jar
如何用XML配置JAVA项目数据库,方便用户配置数据库
JAVA读取数据库的XML配置文件. 前言.虽然现在有HEIBERNATE开源框架做为持久层,可以很好的解决这个问题. 当然,SSH这些开源框架,也必不是人人都得学去用.我个人就喜欢自已写几个常用的类在开发时可以多次使用... 下次...
Java读取xml文件中oracle数据库连接,JAVA与ORACLE连接的代码.
java从xml中读取数据存入sqlserver2005数据库。 所需包请自己下。
转《利用XMLBean轻轻松松读写XML》 XML在Java应用程序里变得越来越重要, 广泛应用于数据存储和交换. 比如我们常见的配置文件,都是以XML方式存储的. XML还应用于Java Message Service和Web Services等技术作为数据...
用java读取全国省市的xml,并插入到数据库中
压缩包里面有两个文件:SAX.java和SAXparse.java 用来解析大于100M的xml文件,SAX读取xml不同于DOM方式,DOM方式在解析xml前需要全部加载xml文件,当...适合读取大的xml文件,例如大于100M甚至大于1G的xml数据库文件。
一年前写过一个百万级别数据库数据生成配置xml文件的程序,程序目的是用来把数据库里面的数据生成xml文件.程序可以配置多少文件生成到一个文件中去。程序刚开始设计的时候说的是最多百万级别数据,最多50W数据生成到...
讲述asp.net将xml读入数据库的2方法,一种是直接读取,一种是使用dataset进行
java操作xml文件,源码案例中实现了对xml文件的增、删、改、查等功能,可以用来开发一些工具,如hibernate就用到了dom4j。 我本人也用dom4j做过读取项目数据库xml配置文件的功能,增加了项目的可移植性、并且方便...
基于java的从XML文件中读取信息到数据库的程序
Java语言从数据库读取信息,形成XML文档
读取xml、xls 文件中的数据并储存到数据库,从数据库读取数据储存到xml、xls文件中并打包,以及文件的删除等操作
这个是使用java语言 poi导入excel到数据库中,同时使用了xml对excel的每个单元格数据进行了非空验证。经测试,导入数据库成功。
用JAVA编写的从数据库和XML中读写数据的应用程序
java后台从数据库读取 数据,封装到list集合,控制层转化为XML格式数据
有用DOM做XML处理.doc、用JDOM操作XML文.txt、在JSP开发中使用jdom解析临时存放数据的XML文件.txt、第8章_JSP实现对XML读写.pdf、从数据库Mysql读取数据转化为xml文档的Java类等,想实现jsp操作xml文件的人可以参考...
从数据库中读取数据自动生成XML