JAVA读取数据库的ML配置文件.docx

上传人:小飞机 文档编号:3159739 上传时间:2023-03-11 格式:DOCX 页数:10 大小:38.67KB
返回 下载 相关 举报
JAVA读取数据库的ML配置文件.docx_第1页
第1页 / 共10页
JAVA读取数据库的ML配置文件.docx_第2页
第2页 / 共10页
JAVA读取数据库的ML配置文件.docx_第3页
第3页 / 共10页
JAVA读取数据库的ML配置文件.docx_第4页
第4页 / 共10页
JAVA读取数据库的ML配置文件.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《JAVA读取数据库的ML配置文件.docx》由会员分享,可在线阅读,更多相关《JAVA读取数据库的ML配置文件.docx(10页珍藏版)》请在三一办公上搜索。

1、JAVA读取数据库的ML配置文件原创JAVA读取数据库的XML配置文件.前言.虽然现在有HEIBERNATE开源结构做为持久层,可以很好的解决这个问题.当然,SSH这些开源结构,也必并非人人都得学去用.我个人就喜欢自已写几个常用的类在开发时可以多次使用.下次共享我所常用的数据库链接类.经过读取XML配置文件来方便用户随时更改数据库配置文件.申明:以下源代码是我的研究心血,转帖请保留作者名字.为了方便JSP初学者而共享.1 . 用来保存数据库参数的XML文件. 该文件请放在web-inf下的classes目录下.否则程序会找不到配置文件的路径.文件名 :mysql数据库Config.xml<

2、?xml version=1.0 encoding=UTF-8?><!- = 对照下表自行更改数据库参数 =SererName = 数据库服务器IP地址ServerPort = 数据库服务器端口DataBaseName = 数据库名字UserName = 数据库登陆帐号Password = 数据库登陆密码 说明 : 请确保你的帐号具有操作该数据库的所有权限.程序开发: NightEagle=-><reportenv><datasource><servername>127.0.0.1</servername><serverport>3306&l

3、t/serverport><databasename>roadmin</databasename><username>admin</username><password>admin</password></datasource></reportenv>2 编写读取XML配置文件的类.文件名: ConfigParser.javapackage roadmin.Conn;import java.util.Properties;import org.xml.sax.Attributes;import org.xml.sax.SAXE

4、xception;import org.xml.sax.helpers.DefaultHandler;/* 程序开发: NightEagle */class ConfigParser extends DefaultHandler /定义一个Properties 用来存放属性值PageRankivate Properties PageRankops;PageRankivate String currentSet;PageRankivate String currentName;PageRankivate StringBuffer currentValue = new StringBuffer;/

5、 构建器初始化PageRankopspublic ConfigParser this.PageRankops = new Properties;public Properties getProps return this.PageRankops;/ 定义开始解析元素的方法. 那里是将<*>中的名字*提取出来.public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException currentValue.delete(0, current

6、Value.length);this.currentName = qName;/ 那里是将<*></*>之间的值加入到currentValuepublic void characters(char ch, int start, int length) throwsSAXException currentValue.append(ch, start, length);/ 在遇到</*>结束后,将之前的名字和值一一对应保存在PageRankops中public void endElement(String uri, String localName, String qNam

7、e) throwsSAXException PageRankops.put(qName.toLowerCase, currentValue.toString.trim);3 编写一个类.将读取的XML文件解析出来.文件名: ParseXML.JAVApackage roadmin.Conn;import java.util.Properties;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;/* 程序开发: NightEagle */class ParseXML / 定义一个Proper

8、ties 用来存放属性值PageRankivate Properties PageRankops;public Properties getProps return this.PageRankops;public void parse(String filename) throws Exception / 将我们的解析器对象化ConfigParser handler = new ConfigParser;/ 获取SAX工厂对象SAXParserFactory factory = SAXParserFactory.newInstance;factory.setNamespaceAware(fal

9、se);factory.setValidating(false);/ 获取SAX解析SAXParser parser = factory.newSAXParser;try / 将解析器和解析对象xml联系起来,开始解析parser.parse(filename, handler);/ 获取解析成功后的属性PageRankops = handler.getProps; finally factory = null;parser = null;handler = null;4 将解析后的参数封装到一个JAVABEAN.读取出来.文件名: ReadConfigXml.javapackage road

10、min.Conn;import java.util.Properties;/* 程序开发: NightEagle */public class ReadConfigXml PageRankivate Properties PageRankops;public ReadConfigXml(String url) ParseXML myRead = new ParseXML;try myRead.parse(url);PageRankops = new Properties;PageRankops = myRead.getProps; catch (Exception e) e.PageRanki

11、ntStackTrace;public String getServerName return PageRankops.getProperty(servername);public String getServerPort return PageRankops.getProperty(serverport);public String getDatabaseName return PageRankops.getProperty(databasename);public String getUserName return PageRankops.getProperty(username);pub

12、lic String getPassWord return PageRankops.getProperty(password);5 数据库链接类.将存放在JAVABEAN中的参数文件读出来,并拼接在数据库链接字符串中.(以mysql数据库为例.)文件名: DataBase.javapackage roadmin.Conn;import java.sql.*;import java.util.*;import roadmin.Conn.ReadConfigXml;import java.io.File;/* 程序开发: NightEagle */public class DataBase Pag

13、eRankivate Connection Conn;PageRankivate String CONFIG = mysql数据库Config.xml; /定义常量.即XML配置文件的名字.public DataBase public static DataBase newInstance return new DataBase;public Connection getConn String Path = DataBase.class.getResource(/) CONFIG; /获取当前XML文件所在的路径ReadConfigXml xml = new ReadConfigXml(Pat

14、h);String dbhost = xml.getServerName;String dbName = xml.getDatabaseName;String dbUser = xml.getUserName;String dbPass = xml.getPassWord;String dbDriver = org.gjt.mm.mysql数据库.Driver;String dbURL = jdbc:mysql数据库:/ dbhost / dbName ?user=dbUser amp;password= dbPassamp;autoReconnect=trueamp;failOverReadOnly=false;try Class.forName(dbDriver);Conn = DriverManager.getConnection(dbURL); catch (SQLException ex) ex.PageRankintStackTrace; catch (ClassNotFoundException ex1) ex1.PageRankintStackTrace;return Conn;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号