SAX used in java to connect to database

原创 2006年05月19日 13:38:00

Here we have three classes

ConfigParser.class   

import java.util.Properties;

import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;

public class ConfigParser extends DefaultHandler {

 private Properties props;

 private String currentName;

 private StringBuffer currentValue = new StringBuffer();

 public ConfigParser() {
  this.props = new Properties();
 }

 public Properties getProps() {
  return this.props;
 }

 public void startElement(String aUri, String aLocalName, String aQName,
   Attributes attributes) throws SAXException {
  currentValue.delete(0, currentValue.length());
  this.currentName = aQName;
 }

 public void characters(char[] ch, int start, int length)
   throws SAXException {
  currentValue.append(ch, start, length);
 }
 
 
 /**
  * Description:Save database.conf.xml to Properties <br>
  * Input:  <br>
  * Output: result = all the result <br>
  * Return: ResultSet result <br>
  * Remark: <br>
  * 
  */
 public void endElement(String aUri, String aLocalName, String aQName)
   throws SAXException {
  props.put(aQName.toLowerCase(), currentValue.toString().trim());
 }

}

//////////////////////////////////

/**
 * @Program Name: ParseDatabaseConfig<br>
 * @Description: Through this class to get database config information <br>
*/
package com.eissha.mis;

import java.net.URL;
import java.util.Properties;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

public class ParseDatabaseConfig {
 private Properties props;

 public Properties getProps() {
  return this.props;
 }

 /**
  * Description:read XML file and save properties <br>
  * Input: String filename<br>
  * Output: none <br>
  * Return: none <br>
  * Remark: <br>
  *
  */
 public void parse(String aFileName) throws Exception {
  ConfigParser handler = new ConfigParser();
  SAXParserFactory factory = SAXParserFactory.newInstance();
  factory.setNamespaceAware(false);
  factory.setValidating(false);
  SAXParser parser = factory.newSAXParser();
  URL confURL = ConfigParser.class.getClassLoader()
    .getResource(aFileName);
  try {
   parser.parse(confURL.toString(), handler);
   props = handler.getProps();
  } finally {
   factory = null;
   parser = null;
   handler = null;
  }
 }
}
////////////////////
/**
 * @Program Name: ConnectDatabase<br>
 * @Description: Through ParserDatabaseConfig to get connection to database<br>
 * 
 */
package com.eissha.mis;

import java.sql.Connection;
import java.util.Properties;

public class ConnectDatabase {

 Properties dbProps;

 /**
  * Description:Constructor get properties of dabase <br>
  * Input: none <br>
  * Output: none <br>
  * Return: none <br>
  * Remark: <br>
  *
  */
 public ConnectDatabase() throws Exception {
  ParseDatabaseConfig dbConfig = new ParseDatabaseConfig();
  dbConfig.parse("com/eissha/mis/database.conf.xml");
  this.dbProps = dbConfig.getProps();
 }

 /**
  * Description:method of getting connection to dabase <br>
  * Input: none <br>
  * Output: coon <br>
  * Return: Connection conn <br>
  * Remark: <br>
  *
  */
 public Connection getConnection() throws java.sql.SQLException {
  try {
   Class.forName(dbProps.getProperty("driver"));
  } catch (ClassNotFoundException e) {
   System.out.println("Not Found Driver:"
     + dbProps.getProperty("driver"));
  }
  return java.sql.DriverManager.getConnection(dbProps.getProperty("url"),
    dbProps.getProperty("user"), dbProps.getProperty("password"));
 }

 // test class
 public static void main(String args[]) {
  ConnectDatabase dbtase;
  try {
   dbtase = new ConnectDatabase();
   System.out.println(dbtase.getConnection());
  } catch (Exception e1) {
   e1.printStackTrace();
  }
 }
}

////////////////////////////// database.conf.xml(example of connecting to mssql se)

<database-conf>
<datasource>
 <driver>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver>
 <url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=[databasename]</url>
 <user>[user]</user>
 <password>[password]</password>
</datasource>
</database-conf>

Over

[Oracle] 数据库安全之 - 审计Audit

Oracle的审计是一个事后的工作,即数据库出现安全问题后,为了定位、发现问题的根源,可以通过审计追根溯源。Oracle审计主要包含以下3个部分: Trigger-based Auditin...
  • u010415792
  • u010415792
  • 2013年06月09日 21:39
  • 2201

java中用SAX解析XML

原文地址:http://www.cnblogs.com/allenzheng/archive/2012/12/01/2797196.html 注:考虑到自己程序中表结构比较大,有几百个字段,再加...
  • w2393040183
  • w2393040183
  • 2016年07月15日 11:11
  • 1656

Java解析xml文档之SAX解析

sax解析是一种边读边解析,仅向前读取,不能修改,用来读。sax创建XMLReader三步:SAXParserFactory factory = SAXParserFactory.newInstanc...
  • new___Smile
  • new___Smile
  • 2016年07月16日 00:59
  • 3526

Java——SAX方式生成XML

使用SAX方式生成XML文件有如下步骤: 创建SAXTransformerFactory对象 通过SAXTransformerFactory对象创建TransformerHandler对象 通过Tra...
  • u012325167
  • u012325167
  • 2016年03月23日 10:05
  • 1294

java用SAX递归获取XML中的数据

java中解析XML的方法有很多种,今天学了下用SAX来解析xml。 所需jar包:jdom.jar xml: toUser fromUser 12345678 "...
  • a601025382s
  • a601025382s
  • 2015年07月06日 16:22
  • 1047

testlink安装配置详细步骤

一、apache的安装配置 1、双击apache安装文件,路径选择 2、安装好后在浏览器栏内输入http:\127.0.0.1,enter后出现it works,表示安装成功。 3、在a...
  • u013906715
  • u013906715
  • 2014年03月05日 12:26
  • 4514

使用SAX解析将xml的文件内容结构保存到java对象中

在Java使用Sax解析xml文件中,我们介绍了如何用SAX解析xml文件,接下来我们继续学习如何将一个xml文件的内容结构保存到一个java实例对象中 一、xml文件如下 计...
  • kingsonyoung
  • kingsonyoung
  • 2016年07月22日 15:17
  • 1437

DB2安装数据库遇到的问题及常用命令

1.db2upp@wlaix6b:/home/db2upp>db2 connect to upp SQL1762N  Unable to connect to database because th...
  • huangweifenghah
  • huangweifenghah
  • 2014年02月05日 21:34
  • 1275

Java xml解析器SAX解析与StAX解析比较

最近了解到JDK6添加一个名为 StAX 的新解析方法,具体可以参考 在JDK 6.0 中基于 StAX 分析 XML 数据 。在J2ME 下可以使用 XmlPullParser ,参考 http:/...
  • zzy7075
  • zzy7075
  • 2016年05月21日 09:17
  • 1251

SAX解析xml,characters方法遇到的问题

很久没有用过java SAX的原始解析方式了,今天yin
  • icefireforest
  • icefireforest
  • 2014年07月16日 19:43
  • 837
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SAX used in java to connect to database
举报原因:
原因补充:

(最多只允许输入30个字)