DAO data access object 数据访问对象
关于dom4j编层
如何解析 xml 文档 :
一、获得document
//获得解析流
SAXReader reader = new SAXReader();
//解析xml
Document document = reader.read("books.xml");
二、保存
//创建输出文件的位置
FileOutputStream out = new FileOutputStream("books.dom4j.xml");
XMLWriter writer = new XMLWriter(out);
//添加内容对象
writer.write(document);
//关闭流
writer.close();
三、API
* 获得根元素
Element rootElement = document.getRootElement();
* 获得所有的子元素
List list = rootElement.elements();
* 获得指定的子元素
Element priceElement = bookElement.element("price");
* 获得指定属性的元素
Node bookNode = document.selectSingleNode("//book[@id='b002']");
* 设置文本
priceElement.setText("100");
* 获得节点的名称
child.getName()
* 获得指定名称的属性值
String id = bookElement.attributeValue("id");
* Annotations 注解
* Static Import : 静态导入
* 导入静态资源:静态方法和静态字段
* 格式:import static java.lang.Math.PI;
import static java.lang.Math.*;
* Autoboxing/Unboxing:自动装箱和自动拆箱
* 基本类型与包装类型的转换
* JDK1.4
Integer ii = new Integer(20);
int jj = ii.intValue();
* Varargs:可变参数
/* 可变参数的格式:类型 ... 变量名
* 使用:
* * 在方法体内,形参可变参数,将被当成数组使用
* * 实际参数的个数,将是形参可变参数,在方法体内使用的数组的长度
* * 实际参数是数组,数组将会被打散
* * 总结:可变参数只能放置在方法参数列表的最后一位
* * 一个方法中能否具有两个可变参数?不能
* Generics:泛型
/*
* 格式:类型<类型[,类型...]>
* * 泛型使用必须前后相同
* * 泛型是在编译前进行类型约束,在字节码文件中不存在泛型信息
* 遍历:List、Map【★★★】
* Enhanced for Loop:增强for循环
* 格式 for(类型 变量名 : 集合(Iterable)|数组){}
* 需要实现Iterable接口的所有的集合。只要能够迭代的所有的集合
* 温习遍历
* Typesafe Enums
/* 枚举也是一个类
* 枚举的实例对象,默认 public static final
* 枚举构造方法,默认私有
* 枚举的实例对象的变量名,必须放在所有内容之前
* 了解 enums4
* 传参 enums5
* 内部类 enums6
* api enums7
3、反射
* 对内存中字节码对象的描述 java.lang.Class
* 包:java.lang.reflect
* API
* Class.forName()
* getConstrutor() -- newInstance
* getMethod() -- invoke
* getField() --get set