XML备份mysql数据库
发布日期:2021-07-26 18:44:06 浏览次数:0 分类:技术文章

DemoJ4 XML备份数据库

说明:这篇博客是为测试XML备份数据库,你要想学习生成XML文件基础知识请参照:

首先提供这几个必要类以供测试(如有需要请自行修改部分代码):
1.JDBCUtile连接数据库

package po;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JDBCUtil {	/**	 * @param args	 */		private static final String mysqlDriver="com.mysql.jdbc.Driver";	private static final String mysqlURL="jdbc:mysql://localhost:3307/orm";	private static final String mysqlUser="root";	private static final String mysqlPwd="123456";		public static Connection getConnection(){		try {			Class.forName(mysqlDriver);			return DriverManager.getConnection(mysqlURL,mysqlUser,mysqlPwd);		} catch (ClassNotFoundException e) {			// TODO Auto-generated catch block			e.printStackTrace();		} catch (SQLException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		return null;	}		public static void close(ResultSet rs,PreparedStatement ps,Connection conn){		if(rs!=null){			try {				rs.close();			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}		}		if(ps!=null){			try {				ps.close();			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}		}		if(conn!=null){			try {				conn.close();			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}		}			}}

2.数据库对应的java对象

package po;import java.util.*;import java.io.Serializable;import java.sql.*;public class Emp implements Serializable {	private String empname;	private Integer id;	private Integer age;	public String getEmpname() {		return empname;	}	public void setEmpname(String empname) {		this.empname = empname;	}	public Integer getId() {		return id;	}	public void setId(Integer id) {		this.id = id;	}	public Integer getAge() {		return age;	}	public void setAge(Integer age) {		this.age = age;	}	public Emp(String empname, Integer id, Integer age) {		super();		this.empname = empname;		this.id = id;		this.age = age;	}	public Emp(){			}	}

 

测试代码:

package po;import java.io.FileWriter;import java.io.IOException;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.XMLWriter;public class TestEmp {	public static void main(String[] args) throws SQLException, IOException{		//查询所有数据为1个list集合,泛型为Emp		List<Emp> list=selAll();		//将list中的数据输出到一个xml文件中		writeEmpToXml(list);		}	private static List<Emp> selAll() throws SQLException{		List<Emp> list=new ArrayList<Emp>();		String sql="select * from Emp";		Connection conn=JDBCUtil.getConnection();		PreparedStatement ps=conn.prepareStatement(sql);		ResultSet rs=ps.executeQuery();		while(rs.next()){			Emp emp=new Emp();			emp.setEmpname(rs.getString("empname"));			emp.setId(rs.getInt("id"));			emp.setAge(rs.getInt("age"));			list.add(emp);		}		return list;	}		/**	 * 将list中的数据写入xml中 	 * @throws IOException 	 */	private static void writeEmpToXml(List<Emp> list) throws IOException{		Document doc =DocumentHelper.createDocument();		Element emps=doc.addElement("emps");		for(Emp emp:list){			emps.addElement("emp")			.addAttribute("id",emp.getId().toString())			.addAttribute("name",emp.getEmpname())			.addText(emp.getAge().toString());		}		//输出到文件		OutputFormat format=OutputFormat.createPrettyPrint();		XMLWriter writer=new XMLWriter(new FileWriter("conf/emps.xml"),format);		writer.write(doc);		writer.close();	}}

结果:

emps.xml文件

<?xml version="1.0" encoding="UTF-8"?><emps>  <emp id="1" name="gaoqi">10</emp>  <emp id="2" name="wang1">10</emp>  <emp id="3" name="mashibing">19</emp>  <emp id="10" name="Test_update">18</emp>  <emp id="11" name="Test_update">18</emp>  <emp id="12" name="Test_add">18</emp>  <emp id="13" name="Test_add">18</emp>  <emp id="14" name="Test_add">18</emp></emps>

 

上一篇:Dom4J生成xml文件
下一篇:Dom4J解析xml文件

关于作者

    白红宇是个全栈工程师,前端vue,小程序,app开发到后端框架设计,数据库设计,环境部署上线运维。

最新文章

网络编程3 2021-09-30
网络编程2 2021-09-30
网络编程1 2021-09-30
数据库部分6 2021-09-30
数据库部分5 2021-09-30
操作系统 银行家算法模拟(二) 2021-09-30
操作系统 银行家算法模拟(一) 2021-09-30
数据库部分4 2021-09-30
数据库部分3 2021-09-30
数据库部分2 2021-09-30
数据库部分1 2021-09-30
STM32学习18 2021-09-30
STM32学习17 2021-09-30
STM32学习16 2021-09-30
STM32学习15 2021-09-30
STM32学习14 2021-09-30
STM32学习13 2021-09-30
STM32学习12 2021-09-30
STM32学习11 2021-09-30
STM32学习10 2021-09-30