xml读取 数据库连接 生成xml 步骤详解及其代码和所需的包
来源:互联网 发布:剑三天策成女捏脸数据 编辑:程序博客网 时间:2024/05/21 07:39
先讲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);
}
}
}
- xml读取 数据库连接 生成xml 步骤详解及其代码和所需的包
- xml读取和生成
- 读取生成的xml
- 生成XML文件的步骤
- Java生成和解析XML格式文件和字符串的实例代码【dom4j中的SAXReader对象读取并解析xml文件】
- 【SSH】利用applicationContext.xml文件结合java代码生成项目所需的数据库
- 读取和使用xml文件的一般步骤
- PHP读取MYSQL生成XML代码
- 读取xml生成lua测试代码
- dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合
- Xml文件bean的读取步骤
- kettle通过xml读取数据库连接
- C#中关于XML的读取和生成
- dom4j生成FusionChart所需xml字符串
- Dom和XML的二级联动菜单详解及其源代码
- XML读取和生成(总结)
- XML读取和生成(总结)
- C# 生成和读取Xml文档
- 使用gdb调试运行时的程序小技巧 -转
- [Linux: 编程]如何调试GCC段错误-转
- Linux下的段错误产生的原因及调试方法-转
- Linux调试工具strace和gdb常用命令小结-转
- Linux段错误-转
- xml读取 数据库连接 生成xml 步骤详解及其代码和所需的包
- Windows服务器如何选 搭建WAMP环境
- JSON格式解析和libjson使用简介-转
- 爬虫的常见陷阱以及Java的爬虫思路
- 飞龙的程序员书单 – 前端
- 二维数组作为形参的参数传递问题[08-0704]-转
- 解决IE 没法访问https 的问题
- jdbc驱动类
- opencv中的cvAddWeighted函数