用Dom4j解析自定义数据库XML配置文件
2017-11-24 21:43
495 查看
为什么用XML配置数据库信息
当我们在写小的Demo时,每次都会配置数据库的连接信息,即使自己写个连接工具类,如果要修改数据库连接信息,找java文件很麻烦,也不利于维护,如果把它写在一个结构化的文档里,大大降低了维护成本,需要修改什么,直接修改文档里面的内容,现在,主流框架也是这样做的书写约束XML规范DTD文档
<!ELEMENT DBInfo (DBDriver,DBurl,DBUser,DBPassword)> <!ELEMENT DBDriver (#PCDATA)> <!ELEMENT DBurl (#PCDATA)> <!ELEMENT DBUser (#PCDATA)> <!ELEMENT DBPassword (#PCDATA)>
根据DTD约定书写数据库XML配置信息
<?xml version="1.0" encoding="UTF-8"?> <!-- 引入dtd --> <!DOCTYPE DBInfo SYSTEM "DataBase.dtd"> <DBInfo> <DBDriver>com.mysql.jdbc.Driver</DBDriver> <DBurl>jdbc:mysql://localhost:3306/jdbc?useSSL=false</DBurl> <DBUser>root</DBUser> <DBPassword>123456</DBPassword> </DBInfo>
用Dom4j解析xml文件,获取信息
1.引入jar包2.配置信息实体类
package com.tangbaobao.utils; /** * @author 唐学俊 * @version 创建时间:2017年11月24日 下午8:30:14 * */ public class DBbean { private String dbDriver; private String dbUrl; private String dbUserName; 4000 private String dbPassword; public String getDbDriver() { return dbDriver; } public void setDbDriver(String dbDriver) { this.dbDriver = dbDriver; } public String getDbUrl() { return dbUrl; } public void setDbUrl(String dbUrl) { this.dbUrl = dbUrl; } public String getDbUserName() { return dbUserName; } public void setDbUserName(String dbUserName) { this.dbUserName = dbUserName; } public String getDbPassword() { return dbPassword; } public void setDbPassword(String dbPassword) { this.dbPassword = dbPassword; } }
3.编写工具类
package com.tangbaobao.utils; /** * @author 唐学俊 * @version 创建时间:2017年11月24日 下午6:42:11 * */ import java.util.List; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.junit.Test; public class DBConfig { @Test public DBbean readXML() { //将得到的数据封装在类 DBbean dbean = new DBbean(); try { // 1.获得解析器 SAXReader saxReader = new SAXReader(); //获取默认配置文件名称 String xmlPath = DBConfig.class.getResource("/DataBase.xml").getPath(); // 2.获取document对象 Document doc = saxReader.read(xmlPath); // 3.获取根元素 Element rootElement = doc.getRootElement(); System.out.println(rootElement.getName()); // 4.获取数据库信息配置信息 List<Element> list = rootElement.elements(); //5.遍历 for (Element element : list) { if(element.getName().equals("DBDriver")){ dbean.setDbDriver(element.getText()); } if(element.getName().equals("DBurl")){ dbean.setDbUrl(element.getText()); } if(element.getName().equals("DBUser")){ dbean.setDbUserName(element.getText()); } if(element.getName().equals("DBPassword")){ dbean.setDbPassword(element.getText()); } } } catch (Exception e) { e.printStackTrace(); } return dbean; } }
4.封装连接类
package com.tangbaobao.utils; /** * @author 唐学俊 * @version 创建时间:2017年11月24日 上午11:38:23 * */ import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DataBaseUtils { public static Connection getConnection() { Connection connection = null ; //初始化数据库配置 DBConfig config = new DBConfig(); DBbean dBbean = config.readXML(); try { //加载驱动 Class.forName(dBbean.getDbDriver()); //获取连接 connection = DriverManager.getConnection(dBbean.getDbUrl(), dBbean.getDbUserName(), dBbean.getDbPassword()); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } }
5.测试类以及运行结果
相关文章推荐
- Dom4j解析XML来读取数据库配置文件信息
- 单例设计模式中使用dom4j来完成(数据库配置文件)xml的解析,并完成数据库的连接
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- ibatis连接数据库的配置文件SqlMapConfig.xml---解析
- dom4j解析XML配置文件
- 35-002-1 struts前期之 通过JAVA反射机制及XML配置文件解析自定义一个MVC的简单框架
- Java SAX解析器解析XML配置文件,连接数据库
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- DOM4J 读取XML配置文件进行数据库连接
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- dom4j 读取xml 数据库配置文件 dataconfig
- Java自定义生成与解析(Dom4J)XML文件
- java使用dom4j解析xml配置文件实现抽象工厂反射示例
- DOM4J 读取XML配置文件进行数据库连接
- Hibernate.cfg.xml配置文件模板及解析
- 用dom4j的方式解析和生成xml文件
- Java SAX解析器解析XML配置文件
- 根据hibernate.cfg.xml配置文件和相应实体类及其.hbm.xml文件生成对应的数据库表
- 读取配置文件[方式三]之xml解析配置文件法
- xml序列化简化程序配置文件中自定义配置节点的Create方法