`
sxdtzhaoxinguo
  • 浏览: 214460 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用Jdom查询数据库后,把数据写入xml文件中

 
阅读更多
1.WriteXml.java:
package cn.gov.csrc.xml;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Arrays;
import java.util.List;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
import cn.gov.csrc.jdbc.DatabaseConnection;
/**
 * @function 使用Jdom查询数据库把数据写入xml文件中
 * @author admin
 * 
 */
public class WriteXml {
	
	public static void WriterFileToXml(){
		//创建一个xml文件
		File file = new File("D://user.xml");
		//创建数据库连接
		Connection conn = DatabaseConnection.getConn();
		
		String sql = "select * from user";
		
		try {
			Statement st = conn.createStatement();//创建预处理对象
			ResultSet rs = st.executeQuery(sql);//获得结果集
			Element root = new Element("users");//创建根元素
			while (rs.next()) {
				Element user = new Element("user");//创建子元素
				root.addContent(user);//添加子元素到根节点
				Element id = new Element("ID");//创建叶子节点
				id.setText(rs.getString("ID"));//给叶子节点赋值
				user.addContent(id);//添加叶子节点到父节点
				Element ename = new Element("USERNAME");
				ename.setText(rs.getString("USERNAME"));//给叶子节点赋值
				user.addContent(ename);		
				Element password = new Element("PASSWORD");//创建叶子节点
				password.setText(rs.getString("PASSWORD"));//给叶子节点赋值
				user.addContent(password);//添加叶子节点到父节点
				Element status = new Element("STATUS");
				status.setText(rs.getString("STATUS"));//给叶子节点赋值
				user.addContent(status);		
				Element descn = new Element("DESCN");
				descn.setText(rs.getString("DESCN"));//给叶子节点赋值
				user.addContent(descn);		
			}
			Document doc = new Document();//创建文本对象
			doc.addContent(root);//添加树倒文本中
			Format format= Format.getCompactFormat();
			format.setIndent(" ");
			XMLOutputter out = new XMLOutputter(format);//创建输出流
			FileWriter fw = new FileWriter(file);//写数据
			out.output(doc, fw);//输出到xml文件中
			fw.close();//关闭写入流
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		//把数据库的数据写入xml文件中
		WriteXml.WriterFileToXml();
	}
}

2.连接数据库java类:DatabaseConnection.java:

package cn.gov.csrc.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
 * 连接数据库
 * 
 * @author admin
 * 
 */
public class DatabaseConnection {

	private static final String driverName = "com.mysql.jdbc.Driver";
	private static final String url = "jdbc:mysql://localhost/springdb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8";
	private static final String username = "root";
	private static final String password = "root";

	static {
		try {
			Class.forName(driverName);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	public static Connection getConn() {
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(url, username, password);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}

	public static void main(String[] args) {
		Connection conn = getConn();
		System.out.println(conn);
	}
}


分享到:
评论

相关推荐

    java源码包---java 源码 大量 实例

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    JAVA上百实例源码以及开源项目源代码

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java源码包2

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java源码包3

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java源码包4

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...

    h_JAVA 2应用编程150例.rar

    实例36 写入文件 111 实例37 压缩文件 112 实例38 打印文本文件 114 实例39 读取配置文件 115 实例40 流操作 117 实例41 管道操作 118 实例42 标准I/O重定向 121 实例43 文件过滤器 122 实例44 获取文件信息 123 第4...

    java应用软件程序设计

    78 实例31 火焰与水纹特效 82 实例32 盖房子特效 91 实例33 旋转的方块特效 95 实例34 光照效果特效 103 第3章 Java输入/输出编程 109 实例35 读取文件 110 实例36 写入文件 111 实例37 ...

Global site tag (gtag.js) - Google Analytics