您的位置:首页 > 博客中心 > 数据库 >

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

时间:2022-03-13 22:53

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

热门排行

今日推荐

热门手游