00 06Java Web开发之案例

1 学生管理系统实现——添加操作

使用xml当作数据库,存储学生信息

创建xml文件,存储一些学生信息。

添加学生信息。
(1)创建解析器
(2)得到document
(3)获取根节点
(4)在根节点上创建stu元素
(5)在stu元素添加 id name age
(6)在 id name age 依次添加值
(7)回写xml

public static boolean addStudent(Student stu) {
		try {
			Document document = getDocument();
			
			Element root = document.getRootElement();
			
			Element stuNew = DocumentHelper.createElement("stu");
			Element idNew = DocumentHelper.createElement("id");
			Element nameNew = DocumentHelper.createElement("name");
			Element ageNew = DocumentHelper.createElement("age");
			
			idNew.setText("" + stu.getId());
			nameNew.setText(stu.getName());
			ageNew.setText("" + stu.getAge());
			
			stuNew.add(idNew);
			stuNew.add(nameNew);
			stuNew.add(ageNew);
			root.add(stuNew);
			
			xmlWriters(document);
			return true;
		}catch(Exception e) {
			e.printStackTrace();
		}
		
		return false;
	}

2 学生管理系统实现——删除操作

private static Element findStuElementById(Document document, long id) {
		
		List<Node> stuIds = document.selectNodes("//stu/id");

		for(Node node : stuIds) {
			if(Long.parseLong(node.getText()) == id) {
				return node.getParent();
			}
		}
		return null;
	}

根据学生id删除学生。
(1)创建解析器
(2)得到document
(3)获取到所有id
(4)遍历list集合
(5)判断集合里面的id和传递的id是否相同
(6)如果相同,把id所在的stu删除

public static void removeStudent(long id) throws Exception{
		Document document = getDocument();
		Element element = StudentControl.findStuElementById(document, id);
		Element root = element.getParent();
		root.remove(element);
		xmlWriters(document);
	}

3 学生管理系统实现——查询操作

根据id查询学生信息。
(1)创建解析器
(2)得到document
(3)获取到所有id
(4)返回的是list集合,遍历list集合
(5)得到每一个id的节点
(6)id节点的值
(7)判断id的值和传递的id值是否相同
(8)如果相同,先获取到id的父节点stu
(9)通过stu获得到name age的值

public static Student searchStudent(long id) throws Exception{
		Student stu = null;
		Document document = getDocument();
		Element stuNode = StudentControl.findStuElementById(document, id);
		stu = new Student(Long.parseLong(stuNode.element("id").getText()), 
				stuNode.element("name").getText(),
				Integer.parseInt(stuNode.element("age").getText()));	
		return stu;
	}
发布了77 篇原创文章 · 获赞 11 · 访问量 2596

猜你喜欢

转载自blog.csdn.net/weixin_43762330/article/details/104533603