码迷,mamicode.com
首页 > 数据库 > 详细

java从数据库中读取数据生成xml保存到TreeMap中

时间:2014-08-20 01:19:45      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:blog   java   os   io   数据   for   ar   cti   

package data;

import java.io.StringWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;


import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class DataSet {
	
	private HashMap<String,String> tm = new HashMap<String,String>();

	public void init()
	{
			try{
					//1.加载驱动
					Class.forName("com.mysql.jdbc.Driver");
					//2、获取connection
					String url = "jdbc:mysql://localhost:3306/mydb";
					Connection conn = DriverManager.getConnection(
							url,"neo","neo");
					//3、创建statement
					Statement stmt =conn.createStatement();
					
					//4、利用statement执行sql
					String sql = "select id, name, sex, age from user";
					ResultSet rs = stmt.executeQuery(sql);
					
					DocumentBuilderFactory dFact = DocumentBuilderFactory.newInstance();
					DocumentBuilder build = dFact.newDocumentBuilder(); 
					
					TransformerFactory tFact = TransformerFactory.newInstance();
					
					while(rs.next()){
						
						Document doc = build.newDocument();
						Element user = doc.createElement("user");
						doc.appendChild(user); 

						Element name = doc.createElement("name");
						name.appendChild(doc.createTextNode(rs.getString(2)));
						user.appendChild(name);
						
						Element sex = doc.createElement("sex");
						sex.appendChild(doc.createTextNode(rs.getString(3)));
						user.appendChild(sex);
						
						Element age = doc.createElement("age");
						age.appendChild(doc.createTextNode(rs.getString(4)));
						user.appendChild(age);
						 
						Transformer trans = tFact.newTransformer();           
						StringWriter writer = new StringWriter();  
						StreamResult result = new StreamResult(writer);  
						DOMSource source = new DOMSource(doc);  
						trans.transform(source, result);
						
						String skey = rs.getString(1);
						String sValue = writer.toString();
						
						tm.put(skey, sValue);
					}
					conn.close();
				}
				catch(Exception e){
					e.printStackTrace();
					
				}	
	}
	
	public String getValue(String key){
			
		return tm.get(key);
	}
}

  

java从数据库中读取数据生成xml保存到TreeMap中,布布扣,bubuko.com

java从数据库中读取数据生成xml保存到TreeMap中

标签:blog   java   os   io   数据   for   ar   cti   

原文地址:http://www.cnblogs.com/longneo/p/3923594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!