首页 > 代码库 > 模拟电话簿系统,新增功能:备份数据和恢复备份
模拟电话簿系统,新增功能:备份数据和恢复备份
在原来的系统之上增加了两个新的功能,备份数据和恢复备份:
下面是两个功能的具体实现方法:
public void saveall() // 备份所有数据 { List<Person> list1 = new ArrayList(); try { // 加载数据库驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); // 获取与数据库的连接 Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "text0816", "666666"); // 获取操作数据库的声明 Statement st = conn.createStatement(); String sql = "select * from person"; ResultSet rs = st.executeQuery(sql); while (rs.next()) { // 实例化Person类 Person per = new Person(); // 添加信息到per对象中 per.setId(rs.getInt("id")); per.setName(rs.getString("name")); per.setAge(rs.getInt("age")); per.setSex(rs.getString("sex")); per.setTelNum(rs.getLong("telnum")); per.setAddress(rs.getString("address")); // 添加per对象放到list集合中 list1.add(per); } File file = new File("e:/DIANHUABU"); if (!file.exists()) { file.mkdirs(); } ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("e:/DIANHUABU/OLDMESSAGE.obj")); out.writeObject(list1); out.close(); System.out.println("数据保存完成..."); // System.out.println(cards); // 释放资源 rs.close(); st.close(); conn.close(); } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } }
public void recoverall() //恢复备份 { try { ObjectInputStream in = new ObjectInputStream(new FileInputStream("e:/DIANHUABU/OLDMESSAGE.obj")); List<Person> list1 = (List<Person>) in.readObject(); // 加载数据库驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); // 获取与数据库的连接 Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "text0816", "666666"); // 获取操作数据库的声明 Statement st = conn.createStatement(); for (Person p : list1) { String sql = "insert into person values(‘"+p.getId()+"‘,‘"+p.getName()+"‘,‘"+p.getAge() +"‘,‘"+p.getSex()+"‘,‘"+p.getTelNum()+"‘,‘"+p.getAddress()+"‘)"; st.executeUpdate(sql); } System.out.println("恢复备份成功!"); // 释放资源 st.close(); conn.close(); } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } }
测试结果截图如下:
首先备份所有的数据:
然后删除所有的数据;
此时,数据库中的所有数据已经全部被清空
最后,我们恢复备份:
现在再查看数据库中的数据;
模拟电话簿系统,新增功能:备份数据和恢复备份
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。