学生管理系统实现-添加操作| 学习笔记

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

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

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


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

 

1、实现简单的学生管理系统,肯定要学习学生信息,因为现在没有学习数据库,所以可以使用 xml 当做数据,存储学生信息,xml 学习的宗旨就是存储数据,这时就可以用它。

2、创建一个 xml 文件,写一些学生信息。

(1)创建一个工程,命名为 student,注意看下边,这是一个默认的工作空间,可以选择 day06-dode\student,这时就把这个项目放在 day06 里面了,点击完成,这时就创建了一个项目 student。

(2)在这里面首先第一个创建一个 xml 文件,命名为 student.xml。

输入 student,有很多学生信息,比如学生信息都叫 stu 提供,里面会有 id,name,ag。

< sudent >

<stu>

<id>100</id>

<name> zhangsan</name>

<age>20</age>

</stu>

<stu>

<id>101</id>

<name>lisi< /name>

<age>30</age>

</stu>

</ sudent>

然后对这个文件进行操作,模拟一下学生管理系统,但是今天只是做一个模拟效果,还没有界面,因为还没有学到,后面会讲到jst,那时会把这个系统做的更加完善或者一个比较强大的学生管理系统,今天只是做一个最基本的实现。

(3)首先创建第一个包,dom4j 第一步怎么做?导包,把 dom4j 和 xpath 都导进来,直接把 dom4j-1.6.1jar 和 jaxen-1.1-beta-6.jar 复制进来。

(4)在 student 里面创建一个文件夹,命名为 lib,粘贴进来。

(5)选中它右键 build path-add to,加进项目,这时就可以使用 dom4j-1.6.1jar和jaxen-1.1-beta-6.jar。

(6)创建一个包,命名为 cn.itcast.service,表示操作的一个包。

(7)创建一个类,用于学生管理系统里面一个最基本的增筛查操作,命名为 stuservice。

3、实现增加,删除,查询三个方法。

(1)先实现第一个方法,里面要传参数。

public static void addStu(){

要传 id 名称和 age。

(2)可以写 string id,但是这么写有一个问题,比如值很多,有一百个或者一千个,要写这么多个,这么操作太麻烦了,可以使用类进行操作,或者使用类的一个对象进行操作,创建一个类,先创建一个包,命名为 cn.itcast.vo,就是值的对象。

(3)创建一个 class,命名为相关的值,student。

(4)stu 里面有三个值,id,name,age。通过这个类进行操作。

public class Student {

private String id;

private String name ;

private String age;

}

(5)右键 source-Generate Getters and Setters...

(6)点击 select all,点击 OK。就生成了 get,set 方法。

(7)set 方法是设置用的,get 是取值,接下来就可以用类的对象进行操作,在*StuService.java 里面输入以下代码:

public static void addStu( Student student) {

这时会显示有错误,需要导入这个包,vo 包导进来

(8)添加步骤

/*

*1、创建解析器

*2、得到 document

现在要把以下部分整个添加进去:

< stu>

<id>101</id>

<name> lisi< /name>

<age> 30</age>

</stu>

首先先回到根节点

*3、获取到根节点

*4、在根节点上面创建 stu 标签

*5、在 stu 标签上面依次添加 id name age

* 6、在 id name age 上面依次添加值

*

*

*7、回写 xml

*/

值从哪里得到?从 student 对象里面得到,必要的时候需要先设置,这样才能得到值,而这个值通过对象传进来。

//创建解析器

SAXReader saxReader = new SAXReader();

//得到 document

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

注意这时要导入 document 这个包,org.dom4j,这里面有异常直接点击exception-java.lang

//得到根节点

Element root = document. getRootElement();

包导入 org.dom4j

//在根节点上面添加 stu

Element stu = Root addElement("stu");

直接添加,表示返回值是stu标签

//在 stu 标签上面依次添加 id name age 标签

Element id1 = stu. addElement( "id");

Element name1 = stu. addElement( "name");

Element age1 = stu. addElement("age");

//在 id name age 上面依次添加值

id1. setText( student. getId());

name1. setText( student . getName());

age1. setText( student.getAge());

这个值在 student 对象里取到

/ /回写 xm1

OutputFormat format = OutputFormat . createPrettyPrint();

XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/student .xml"), format);

用 XMLWriter(OutputStrefm out, OutputFormat format) 方法,文件路径

xmlWriter .write( document);

把这个文档写进去

xmlWriter. close();

关闭流,这样就完成添加操作。

(9)接下来调用一下,在创建一个包,这个包用于测试这个方法,命名为cn.itcast.test。

创建一个类,命名为 TestStu

先写第一个方法,这个方法用于测试添加方法。

//测试添加方法

public static void testAdd() {

}

首先调用这个方法,stuservice 调用,要传一个 student 对象,设置一些值,首先先创建 student 对象

//测试添加方法

public static void testAdd()throws Exception {

//设置值

Student stu = new Student( );

stu. setId("103");

stu. setName ( "wangwu" ) ;

stu. setAge("40");]

StuService . addStu(stu) ;

}

有异常就抛出去,这样就完成了一个测试方法。

在 main 里面调用,有异常抛出去

public static void main(String[] args) throws Exception {

testAdd();

}

执行,里面会多加一条,注意写法,创建了很多包,第一个创建是 vo,里面对应的很多属性值,属性名称,stuservice 里面是操作的方法,test 里面是测试的方法,这么写的好处是结构很清晰,每个包就专门负责什么,stuservice 就专门负责方法实现,里面没有调用,而 test 负责方法调用,vo 负责封装对象,层次很明确,很鲜明,这么做可以很好的做程序,开发程序更加分明,结构更加清晰,每个包就专门负责某个操作,不会混合来使用,这就是这样一个添加效果。

相关文章
|
4月前
|
SQL 数据库
学生管理系统总结(一)
学生管理系统总结(一)
42 1
|
Java
一个简单的学生管理系统的实现代码
一个简单的学生管理系统的实现代码
87 0
|
3月前
|
Java 索引
11.2日学习小结.(学生管理系统)小练习
11.2日学习小结.(学生管理系统)小练习
|
3月前
学生管理系统-登录操作设计
学生管理系统-登录操作设计
36 1
|
数据库
学生管理系统总结二
面所总结的错误锦囊,在后面又出现了类似情况,遇到这种情况并不像第一次那么的慌张放眼望去不知所措,根据上一次的总结印象变得深刻许多,所以在后面的解决问题的过程中并不是很难,但也不会顺利,因为错误总是会时刻出现,时不时会给你来一下子,让你出其不意的掉进它事先挖好的坑里,遇到问题还是先站在互联网的肩膀上,看看那些大神所总结的博客在阅读的过程中,会不会收获不菲的价值信息和意外收获,那么今天我就分享一些在后面我说遇到的问题,在这个过程中遇到的错误类型。
54 0
|
SQL 数据库 数据安全/隐私保护
学生管理系统错误(2)——“-2147217887”问题
学生管理系统错误(2)——“-2147217887”问题
|
数据安全/隐私保护
学生管理系统优化
学生管理系统优化
|
存储 C++
c++ 实战案例--学生管理系统
c++ 实战案例--学生管理系统
103 0
|
SQL 数据库 C#
C#学生管理系统
基于C#实现的学生管理系统
81 0
|
SQL 数据库连接 数据库
学生管理系统错误(1)——“91”问题
学生管理系统错误(1)——“91”问题