加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml读取 数据库连接 生成xml 步骤详解及其代码和所需的包

发布时间:2020-12-16 08:45:46 所属栏目:百科 来源:网络整理
导读:先讲xml读取与生成,接下来通过xml读取来连接数据库。 第一:首先需要导入所需的jar文件: 如图所示: 下面代码是完整的可运行的解析xml文件的代码:package Dom4J; import java.io.FileInputStream; import java.util.List; import org.dom4j.Attribute; im

先讲xml读取与生成,接下来通过xml读取来连接数据库。

第一:首先需要导入所需的jar文件:

如图所示:

下面代码是完整的可运行的解析xml文件的代码:package Dom4J;

import java.io.FileInputStream;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class TestDOM4JParseXML {

/**
* @Title: main
* @Description: TODO
* @author zhanghao
* @throws
*/
public static void main(String[] args) {

SAXReader reader = new SAXReader();
FileInputStream fis = null;
try{
fis = new FileInputStream("stu.xml");
//加载xml文档
Document doc = reader.read(fis);
//获取根元素
Element rootElt = doc.getRootElement();
System.out.println(rootElt.getName());
List elements = rootElt.elements();
System.out.println(elements.size());
for(int i=0;i<elements.size();i++){
Element elt = (Element)elements.get(i);
System.out.println(elt.getName());
List eltList = elt.attributes();
for(int j=0;j<eltList.size();j++){
Attribute attr = (Attribute)eltList.get(j);
System.out.println("t属性:"+attr.getName()+"="+attr.getValue());
}

List subEletList = elt.elements();
for(int j=0;j<subEletList.size();j++){
Element subElt = (Element)subEletList.get(j);
System.out.println("t子元素:"+subElt.getName()+"="+subElt.getText());
}
}
}catch (Exception e) {
e.printStackTrace();
}finally{
try{
if(fis !=null)
fis.close();
}catch (Exception e) {
e.printStackTrace();
}finally{

}
}
}

}


stu.xml文件代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<学生们>
<学生 id="001">
<姓名>张三</姓名>
<学号>001</学号>
</学生>
<学生>
<姓名>李四</姓名>
<学号>002</学号>
</学生>
<学生>
<姓名>王五</姓名>
<学号>003</学号>
</学生>
<学生 姓名="李刘" 学号="004"></学生>
</学生们>


下面代码是创建xml完整代码,复制直接可以正常运行:

package Dom4J;

import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;

public class TestDOM4JCreateXML {

/**
* @Title: main
* @Description: TODO
* @author zhanghao
* @throws
*/
public static void main(String[] args) {

//创建Document实例
Document doc = DocumentHelper.createDocument();
Element rootElt = doc.addElement("select");
rootElt.addAttribute("name","city");

Element city1Elt1 = rootElt.addElement("option");
city1Elt1.addAttribute("value","1");
city1Elt1.addText("北京市");

Element city1Elt2 = rootElt.addElement("option");
city1Elt2.addAttribute("value","2");
city1Elt2.addText("天津市");

Element city1Elt3 = rootElt.addElement("option");
city1Elt3.addAttribute("value","3");
city1Elt3.addText("广西市");

Element city1Elt4 = rootElt.addElement("option");
city1Elt4.addAttribute("value","4");
city1Elt4.addText("河南市");

doc.setXMLEncoding("UTF-8");

String xmlStr = doc.asXML();
System.out.println(xmlStr);

XMLWriter writer = null;

FileWriter fw = null;
try{
fw = new FileWriter("d:city.xml");
//doc.write(fw);

writer = new XMLWriter(fw);
writer.write(doc);

System.out.println("写入成功");
}catch(IOException e){
e.printStackTrace();
}finally{

try {
if(fw != null){
fw.close();
}
} catch (IOException e) {
e.printStackTrace();
}

}

}

}

主要目录可以自己定义:


数据库基本链接源码:

DBUtil.java

package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBUtil {

private static DBUtil instance;
private jdbcInfo jdbcInfo;
private DBUtil(){
this.jdbcInfo = SystemUtil.getInstance().getJdbcInfo();
try {
Class.forName(this.jdbcInfo.getDriverClassName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

public static DBUtil getInstance(){
if(instance == null){
instance = new DBUtil();
}
return instance;
}

public Connection getConnection(){
Connection conn = null;
try {
conn = DriverManager.getConnection(this.jdbcInfo.getUrl(),
this.jdbcInfo.getUsername(),
this.jdbcInfo.getPassword());
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

public void free(Connection conn,java.sql.Statement stmt,ResultSet rs){
try {
if(rs != null)
rs.close();
if(stmt != null)
stmt.close();
if(conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

JdbcInfo.java

package util;

public class jdbcInfo {

private String driverClassName;
private String url;
private String username;
private String password;

public String getDriverClassName() {
return driverClassName;
}
public void setDriverClassName(String driverClassName) {
this.driverClassName = driverClassName;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}


}

SystemUtil.java

package util;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

public class SystemUtil {

private static SystemUtil instance;
private jdbcInfo jdbcInfo;
private Element rootElt;

public static final String CFG_FILE_NAME = "system.cfg.xml";

private SystemUtil(){
SAXReader reader = new SAXReader();
try {
Document doc = reader.read(Thread.currentThread().getContextClassLoader().getResource(CFG_FILE_NAME));

System.out.println(doc);

rootElt = doc.getRootElement();

this.initJdbcInfo();

} catch (DocumentException e) {
e.printStackTrace();
}

}

private void initJdbcInfo(){
this.jdbcInfo = new jdbcInfo();
Node driverClassNode = rootElt.selectSingleNode("/system-configuration/jdbc-info/property[@name='driver_class']");
String driverClassName = driverClassNode.getText();
this.jdbcInfo.setDriverClassName(driverClassName);

Node urlNode = rootElt.selectSingleNode("/system-configuration/jdbc-info/property[@name='url']");
String url = urlNode.getText();
this.jdbcInfo.setUrl(url);

Node usernameNode = rootElt.selectSingleNode("/system-configuration/jdbc-info/property[@name='username']");
String username = usernameNode.getText();
this.jdbcInfo.setUsername(username);

Node passwordNode = rootElt.selectSingleNode("/system-configuration/jdbc-info/property[@name='password']");
String password = passwordNode.getText();
this.jdbcInfo.setPassword(password);


System.out.println(driverClassName);

}

public jdbcInfo getJdbcInfo(){
return this.jdbcInfo;
}

public static SystemUtil getInstance(){
if(instance == null){
instance = new SystemUtil();
}

return instance;
}

public static void main(String[] args){
new SystemUtil();
}


@Override
public String toString() {

return super.toString();
}
}


System.cfg.xml


<?xml version="1.0" encoding="UTF-8"?>
<system-configuration>
<jdbc-info>
<property name="driver_class">com.mysql.jdbc.Driver</property>
<property name="url">jdbc:mysql://192.168.1.210:3306/my_db</property>
<property name="username">simope</property>
<property name="password">simope#CTCluster#2015</property>
</jdbc-info>
</system-configuration>


testClient.java


package tset; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import util.DBUtil; public class TestClient { /** * @Title: main * @Description: TODO * @author zhanghao * @date 2016-1-16 上午10:45:32 * @throws */ public static void main(String[] args) { DBUtil util = DBUtil.getInstance(); Connection conn =null ; PreparedStatement stmt = null; ResultSet rs = null; conn = util.getConnection(); String sql = "select * from sys_user"; try { stmt = conn.prepareStatement(sql); rs = stmt.executeQuery(); while(rs.next()){ int id = rs.getInt("userID"); String name = rs.getString("password"); System.out.println("id:"+id+"tName:"+name); } } catch (SQLException e) { e.printStackTrace(); }finally{ util.free(conn,stmt,rs); } } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读