java从XML文件读取JDBC连接

任何人都知道如何编写XMl文件,我将在其中连接JDBC(用户名,密码,驱动程序,连接),然后读取该xml以连接到db?

以下是编写XML的方法:

   jdbc:mysql://localhost:3306/javabase com.mysql.jdbc.Driver java d$7hF_r!9Y   

假设它被称为config.xml并且被放置在类路径的根目录中,这里是一个如何在JAXP和Xpath的帮助下加载它的示例:

 InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.xml"); Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(input)); XPath xpath = XPathFactory.newInstance().newXPath(); String url = (String) xpath.compile("//config//jdbc//url").evaluate(document, XPathConstants.STRING); String driver = (String) xpath.compile("//config//jdbc//driver").evaluate(document, XPathConstants.STRING); String username = (String) xpath.compile("//config//jdbc//username").evaluate(document, XPathConstants.STRING); String password = (String) xpath.compile("//config//jdbc//password").evaluate(document, XPathConstants.STRING); // ... 

与属性文件相比,它只是非常冗长。 以下是此类属性文件的示例:

 jdbc.url = jdbc:mysql:// localhost:3306 / javabase
 jdbc.driver = com.mysql.jdbc.Driver
 jdbc.username = java
 jdbc.password = d $ 7hF_r!9Y

假设它被命名为config.properties并且被放置在类路径的根目录中(或者它的根路径被添加到类路径中),这里是你可以从类路径加载它的方法:

 Properties properties = new Properties(); properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties")); String url = properties.getProperty("jdbc.url"); String driver = properties.getProperty("jdbc.driver"); String username = properties.getProperty("jdbc.username"); String password = properties.getProperty("jdbc.password"); // ... 

看看commons-configuration 。 您可以使用它读取多种配置格式。

也就是说,对于数据库连接属性,我认为一个简单的键值.properties文件更好。

您可以定义自己的XML模式,将其绑定到Java bean,然后通过JAXB解析它。 然后,您只需调用bean的getter来构建连接。

我经常使用Spring Framework来外化连接池的配置和jdbc URL的设置。