学生管理系统实现-查询操作| 学习笔记

简介: 快速学习学生管理系统实现-查询操作。

开发者学堂课程【XML入门 :学生管理系统实现-查询操作】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/37/detail/874


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

 

1、//查询根据 id 查询学生信息,

思想是得到这个 id,id 是属于哪一个标签,先获取所有的 id,判断 id 所在的标签里面的内容都可以得到。但是注意现在要返回一个值,返回学生信息,直接返回 student 对象,直接根据 id 查询。

public static Student getStu(String id) {

return null;

}

2、前两步都是一样的,直接复制即可。

id 值获取到,通过 stu 可以得到 name 值。

/*

* 1、 创建解析器

* 2、得到 document

*

* 3、获取到所有的 id

* 4、返回的是 list 集合,遍历 list 集合

* 5、得到每一个 id 的节点

* 6、id 节点的值

* 7、判断 id 的值和传递的 id 值是否相同

* 8、如果相同,先获取到 id 的父节点 stu

* 9、通过 stu 获取到 name age 值

*

**/

这里面不需要回写,因为是做查询操作,没有对内容进行修改。

3、前两步操作直接复制即可,有异常抛出去。

/ /创建解析器

SAXReader saxReader = new SAXReader();

/ / 得到 document

Document document = saxReader . read("src/ student. xml") ;

//获取所有的 id

List<Node> list = document . selectNodes("//id");

//遍历 list

for (Node node : list) { / /node 是每一个 id 节点

//得到 id 节点的值

String idv = node . getText() ;

//判断 id 是否相同

if(idv. equals(id)) {

id 相同就利用 id 获取父节点 stu

//得到 id 的父节点 stu

Element stu = node . getParent();

/ /通过 stu 获取 name 和 age

stu. element("name") getText();

这句话表示获取 name 的值,stu. element("name") 表示获取 name 的元素,getText(); 表示获取那么的值

String namev = stu. element ( " name").getText();

String agev = stu. element("age"). getText();

现在要访问一个对象,把 String namev = stu. element ( " name").getText(); 这个直接设置到对象里面去,首先先要创建一个对象,不能创建在 idv 里面,不能返回,范围不行,创建在外面。

//创建 student 对象

Student student = new Student();

在里面设置它的值

/ /通过 stu 获取 name 和 age

String namev = stu. element ( " name").getText();

String agev = stu. element("age"). getText();

student. setid(idv);

student . setName( namev) ;

student. setAge(agev);

}

}

Return student ;

返回值不能写在里面,注意里面有一个循环,写在里面会出问题。所以通常在外面创建一个对象进行返回,这样返回的就是一个 student 对象。

4、调用一下。异常抛出去。

/ /测试查询方法

public static void testSelect() throws Exception {

Student stu = StuService . getStu("100");

这就可以依次获取 stu 里的值。

这里有一个方法,点击 source-Generate tostring()-select all。

image.png

就可以把值依次打印出来

@Override

public String toString() {

return "Student [id=" + id + ", name=" + name +age="+ age + "]";

}

运行一下,

/ /测试查询方法

public static void testSelect() throws Exception {

Student stu = StuService. getStu("100");

System. out. println(stu. toString()) ;

}

就可以得到以下这种格式,以此显示出来。

[id=" + id + ", name=" + name +age="+ age + "]

5、testSelect();

执行看结果

Student[ id=100, name=zhangsan, age=20]

这就是查询的操作。

相关文章
sublime和vscode 推荐安装的插件
sublime和vscode 推荐安装的插件
313 0
|
机器学习/深度学习 人工智能 算法
新时代软件测试工程师的挑战与机遇
随着科技的飞速发展,软件测试在当今信息化社会中扮演着举足轻重的角色。本文将探讨新时代软件测试工程师所面临的挑战和机遇,分析其发展趋势及应对策略,旨在为广大软件测试从业人员提供启示和指导。
|
机器学习/深度学习 弹性计算 人工智能
大模型进阶微调篇(三):微调GPT2大模型实战
本文详细介绍了如何在普通个人电脑上微调GPT2大模型,包括环境配置、代码实现和技术要点。通过合理设置训练参数和优化代码,即使在无独显的设备上也能完成微调,耗时约14小时。文章还涵盖了GPT-2的简介、数据集处理、自定义进度条回调等内容,适合初学者参考。
2630 6
|
人工智能 API Windows
免费部署本地AI大语言模型聊天系统:Chatbox AI + 马斯克grok2.0大模型(简单5步实现,免费且比GPT4.0更好用)
本文介绍了如何部署本地AI大语言模型聊天系统,使用Chatbox AI客户端应用和Grok-beta大模型。通过获取API密钥、下载并安装Chatbox AI、配置模型,最终实现高效、智能的聊天体验。Grok 2大模型由马斯克X-AI发布,支持超长文本上下文理解,免费且易于使用。
|
存储 Java 分布式数据库
什么是HBase?它的特点是什么?
什么是HBase?它的特点是什么?
1347 0
|
消息中间件 监控 Ubuntu
RabbitMQ安装配置,超详细版教程
以上步骤为您提供了在Linux环境下安装RabbitMQ的详细过程。安装Erlang作为基础,然后通过添加官方源并安装RabbitMQ本身,最后对服务进行配置并启用Web管理界面。这些步骤操作简单直观,只需要跟随上述指南,即可在短时间内将RabbitMQ服务器运行起来,并进行进一步的配置和管理。不要忘记硬件和网络资源对性能的影响,确保RabbitMQ能够满足您的应用需求。
1279 0
|
存储 缓存 安全
深入理解内存映射:mmap映射的背后原理以及和共享内存的差异
深入理解内存映射:mmap映射的背后原理以及和共享内存的差异
4758 0
|
设计模式 前端开发 JavaScript
原来.NET写的Linux桌面这么好看?
原来.NET写的Linux桌面这么好看?
528 0
|
Java Python
Python(9)面对对象高级编程(上)
Python(9)面对对象高级编程(上)
192 1
Python(9)面对对象高级编程(上)
|
算法 安全 Unix
常见加密算法介绍及比较
常见加密算法介绍及比较
765 0