XML备份mysql数据库
发布日期:2021-07-26 18:44:06
浏览次数:13
分类:技术文章
本文共 3841 字,大约阅读时间需要 12 分钟。
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 Listlist=selAll(); //将list中的数据输出到一个xml文件中 writeEmpToXml(list); } private static List selAll() throws SQLException{ List list=new ArrayList (); 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 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文件
10 10 19 18 18 18 18 18
转载地址:https://blog.csdn.net/qq_41877184/article/details/95037045 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年03月22日 05时48分19秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
android 动态毛玻璃,Android毛玻璃背景效果简单实现代码
2019-04-21
android 按钮提示,的Android按钮工具提示
2019-04-21
win7自定义html为桌面,Win7系统自定义桌面主题的方法
2019-04-21
linux存储pdf伟岸_python的reportlab库介绍、制作pdf和作图
2019-04-21
安徽信息技术初中会考上机考试模拟_2020年中小学寒假、考试时间定下了!
2019-04-21
稳定币usda是哪个发行的_武夷山币装帧款曝光,共4款设计,你喜欢哪款?
2019-04-21
苹果笔记本的end键_笔记本用户的大烦恼:触控板,想好好用你不容易
2019-04-21
趣玩机器人什么时候成立的_【直播回顾】当我们谈机器人集成调试的时候在谈什么...
2019-04-21
vue 地理位置定位_HTML5地理位置
2019-04-21
pac代理模式什么意思_托管仓库租赁电商仓储运营模式托管什么意思
2019-04-21
validated 验证数组_在 Laravel 中处理请求验证的智能方法
2019-04-21
java 拼接路径优雅方式_Java安全编码实践总结
2019-04-21
realme x2 深度测试打不开_搭载65W超级闪充,realme真我X7手机充电评测
2019-04-21