[drp 3]读取Xml配置文件,连接数据库
导读:之前看一本XML的书,里面说到了对于XML的操作问题,但由于各方面的原因,一直没有总结。这次借着做项目,就总结总结对于XML文件的利用。主要是从配置数据库连接和保存数据这两方面来的。这篇博客介绍配置数据库连接,下篇介绍读取XML数据,保存至数据库。
一、建立XML文件
关于以上配置的内容,可以上网查一下。
二、读取Xml文件,设置jdbc的相关参数
<span style="font-family:KaiTi_GB2312;font-size:18px;">package com.angel.drp.util; import java.io.InputStream; import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; /**
* 解析
*@author AngelHHX
*
*/
public class XmlConfigReader { privatestatic XmlConfigReader instance = null; privateJdbcConfig jdbcConfig=new JdbcConfig(); privateXmlConfigReader() {
SAXReaderreader = new SAXReader();
InputStreamin =Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");
try{
Documentdoc = reader.read(in);
//取得jdbc相关的配置
ElementdriverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");
ElementurlElt = (Element) doc.selectObject("/config/db-info/url");
ElementuserNameElt = (Element)doc.selectObject("/config/db-info/user-name");
ElementpasswordElt = (Element) doc.selectObject("/config/db-info/password");
//设置jdbc相关的配置
jdbcConfig.setDriverName(driverNameElt.getStringValue());
jdbcConfig.setUrl(urlElt.getStringValue());
jdbcConfig.setPassword(passwordElt.getStringValue());
jdbcConfig.setUserName(userNameElt.getStringValue());
}catch (DocumentException e) {
e.printStackTrace();
}
} publicstatic synchronized XmlConfigReader getInstance() {
if(instance == null) {
instance= new XmlConfigReader();
}
returninstance;
} /**
* 返回jdbc相关配置
* @return
*/
publicJdbcConfig getJdbcConfig(){
returnjdbcConfig;
}
}
</span>
需要引入的jar包:
三、取得数据库的连接
<span style="font-family:KaiTi_GB2312;font-size:18px;">/**
* 取得Connection
* @return
* @throws ClassNotFoundException
*/
publicstatic Connection getConnection(){
Connectionconn=null;
try{
JdbcConfigjdbcConfig = XmlConfigReader.getInstance().getJdbcConfig();
Class.forName(jdbcConfig.getDriverName());
conn=DriverManager.getConnection(jdbcConfig.getUrl(),jdbcConfig.getUserName(), jdbcConfig.getPassword());
}catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e) {
e.printStackTrace();
}
returnconn;
}
</span>
此处略去释放连接等几个方法。其后续的具体应用,就跟之前用SQLHelper一样。事实上之前用SQL Server的时候,后面也是从配置文件读取的连接信息。不过就是Oracle配置的东西多了点而已。
四、总结
不管做什么吧,数据持久化肯定是要有的。而连接数据库是第一项要务,之前都稀里糊涂的过来了,现在要明确它。后续还需要总结Hibernate的一些东西才行。多写代码多总结,少吃零食多睡觉。
[drp 3]读取Xml配置文件,连接数据库的更多相关文章
- 【XML配置文件读取】使用jdom读取XML配置文件信息
在项目中我们经常需要将配置信息写在配置文件中,而XML配置文件是常用的格式. 下面将介绍如何通过jdom来读取xml配置文件信息. 配置文件信息 <?xml version="1.0& ...
- DOM4J 读取XML配置文件进行数据库连接
介绍介绍DOM4J. 据说是非常优秀非常优秀的Java XML API(Dom4j is an easy to use, open source library for working ...
- spring读取xml配置文件(二)
一.当spring解析完配置文件名的占位符后,就开始refresh容器 @Override public void refresh() throws BeansException, IllegalSt ...
- Winform中实现读取xml配置文件并动态配置ZedGraph的RadioGroup的选项
场景 Winform中对ZedGraph的RadioGroup进行数据源绑定,即通过代码添加选项: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
- Spring如何读取xml配置文件的
我们通过一个小案例来看xml解析过程. 1. 导包 <dependencies> <!-- xml解析工具 --> <dependency> <groupId ...
- Log4Net读取XML配置文件及在代码中完成添加Logger操作
解决问题: 将log4net配置文件与app.config配置文件分开 手动读取log4net配置文件 手动创建logger 可将日志输出功能封装在类库中,应用程序引用时无需添加assembly引用及 ...
- cocos2dx中调用TinyXml读取xml配置文件 || cocos2d-x 中跨平台tinyxml读取xml文件方式
TiXmlDocument *doc = newTiXmlDocument; #if (CC_TARGET_PLATFORM ==CC_PLATFORM_ANDROID) //Android平台tin ...
- Spring读取xml配置文件的原理与实现
本篇博文的目录: 一:前言 二:spring的配置文件 三:依赖的第三方库.使用技术.代码布局 四:Document实现 五:获取Element的实现 六:解析Element元素 七:Bean创造器 ...
- EasyPlayerPro Windows播放器读取xml配置文件中的特殊字符问题
问题被反馈 今日一客户反馈说播放不了带用户名密码的流, 奇怪,这个问题不存在啊-,按照客户的说法, 是将url地址保存在配置文件中,然后再打开EasyPlayerPro运行: 问题复现 在EasyPl ...
随机推荐
- jQuery Ajax 方法调用 Asp.Net WebService 以及调用aspx.cs中方法的详细例子
一.jQuery Ajax 方法调用 Asp.Net WebService (引自Terry Feng) Html文件 <!DOCTYPE html PUBLIC "-//W3C//D ...
- SpringMVC参数类型转化错误调试方法
- Service代码示例
package com.homily.training.service; import android.app.Service; import android.content.Intent; impo ...
- communication ports in DOS systems:
: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7,COM8, COM9, LPT1, LPT2, LPT3, LPT4, L ...
- __VA_ARGS__用法(转)
自定义调试信息的输出 调试信息的输出方法有很多种, 例如直接用printf, 或者出错时使用perror, fprintf等将信息直接打印到终端上, 在Qt上面一般使用qDebug,而守护进程则一 ...
- hdu 3068 最长回文 manacher算法(视频)
感悟: 首先我要Orz一下qsc,我在网上很难找到关于acm的教学视频,但偶然发现了这个,感觉做的很好,链接:戳戳戳 感觉这种花费自己时间去教别人的人真的很伟大. manacher算法把所有的回文都变 ...
- catalan---卡特兰数(小结)
(关于卡特兰数的详细介绍)http://baike.baidu.com/view/2499752.htm 下面有练习的题目: 经过测试,_int64/long long 最大只能表示到33位,超过这个 ...
- JQ获取当前是第几个元素,以及直接选取第几个元素的方法
一.获取当前是第几个元素的方法使用:$(this).index() 实例: $(function () { $('.menu li').mouseover(function () { alert($( ...
- sublimetext3 安装php语法检测
打开控制台,install package 搜 sublimelinter 先安装sublimelinter本体 安装完以后再搜索一下,安装sublimelinter-php 接下来,打开prefer ...
- 标准化命名CSS类,持续更新
放链接.持续化更新,以后可能会用上.https://github.com/zhangxinxu/zxx.lib.css/blob/master/zxx.lib.css