导读:之前看一本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的一些东西才行。多写代码多总结,少吃零食多睡觉。