java从数据库中读取数据生成xml保存到TreeMap中
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); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。