A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© me666 初级黑马   /  2018-1-11 15:20  /  724 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小石姐姐 于 2018-1-12 10:45 编辑

学习阶段总结
XML
Extensible Markup Language

解析方式

  DOM:(文档对象模型)将整棵树一口气全部加载到内存当中,我们可以非常方便的操作,当整棵树特别大的时候,会有内存溢出的情况

  SAX:一个节点一个节点的进行解析,不会出现内存溢出的情况

  (节点: 标签、属性、文本甚至是换行都称之为节点)

org.dom4j.io.SAXReader`类: SAX解析器

* 构造方法:

  * `SAXReader()`: 创建一个SAX解析器

* 成员方法:

  * `Document read(String systemId)`: 读取XML文件, 返回一个Document对象

* `org.dom4j.io.OutputFormat`类: 配置XML输出格式

* `static OutputFormat createPrettyPrint()`: 创建一个用户输出美观格式的OutputFormat对象

* `void setEncoding(String encoding)`: 设置字符集

* `org.dom4j.io.XMLWriter`类: 用于向XML中写入数据的输出流

* 构造方法:

  * `XMLWriter(OutputStream out)`: 使用字节流创建一个XMLWriter对象

* 成员方法:

  * `void write(Document doc)`: 将Document对象中的数据写入到XML文件

* `org.dom4j.Document`接口: 代表一个XML文档

* `Element getRootElement()`: 获取根元素对象. 需要用根元素获取其他子元素

* `org.dom4j.Element`接口: 代表一个元素

* 获取元素信息

  * `String getName()`: 获取元素名

* 元素增删改查

  * 获取元素

   * `List<Element> elements()`: 获取调用元素对象的所有子元素

   * `List<Element> elements(String name)`: 获取所有的指定名称的子元素

   * `Element element(String name)`: 获取第一个该名称的子元素对象

   * `Element getParent()`: 获取当前元素的父元素对象

  * 添加元素

   * `Element addElement(String elementName)`: 在当前元素下添加指定名称的子元素

  * 删除元素

   * `boolean remove(Element child)`: 删除子元素

* 操作元素中的文本

  * `String elementText(String name)`: 获取第一个该名称的子元素的文本内容

  * `String getText()`: 获取当前元素对象的文本

  * `void setText(String text)`: 设置当前元素对象的文本

* 操作元素的属性

  * `String attributeValue(String name)`: 根据指定的属性名获取属性值

  * `Element addAttribute(String name, String value)`: 添加或修改指定属性名的属性值

* `org.dom4j.DocumentHelper`类:

* `static Element createElement(String name)`: 使用指定名称作为元素名, 创建一个元素对象


数据库概念
  • 数据库:
    • 存储数据的仓库. 本质是一个文件系统, 数据按照指定的格式将数据存储起来, 用户可以对数据库中的数据进行增删改查
  • DBMS:
    • Database Management System, 数据库管理系统. 是操作和管理数据库的大型软件, 用于建立, 使用和维护数据库, 对数据库进行统一管理和控制, 以保证数据库的安全性和完整性. 用户通过数据库管理系统访问数据库中表内的数据
常见的数据库
  • 常见关系型数据库(应用程序)
    • MySQL: 常用. Oracle开源免费小型数据库, 普通企业都在用
    • Oracle: 常用, Oracle收费大型数据库, 一般大型国企, 银行, 政府部门用
    • DB2: IBM出品收费数据库. 一般大型国企, 银行, 政府部门用
    • SQLServer: 微软出品收费数据库. C#, .NET使用
    • SQLite: 嵌入式数据库, 用于移动设备, 机顶盒等, 安卓手机就是使用的SQLite数据库
    • SyBase: 没了
  • 扩展: 目前的数据库分类:
    • 关系型数据库: 表示表与表之间的关系
      • MySQL, Oracle都是关系型数据库
    • 非关系型数据库: (NoSQL, Not Only SQL)
      • MongoDB
      • 用途: 文档信息的存储, 日志, 记录, 博客文章
数据库和管理系统
  • 作用
    • 数据库: 存储数据表, 索引, 视图等
    • 数据表: 存储数据
      • 行: 数据
      • 列: 描述数据信息
    • 数据: 也叫记录, 也就是我们实际要存储的信息
    • 数据库管理系统: 操作数据库, 表, 记录
  • 记住关系:
    • 数据库程序有数据库
    • 数据库中有表
    • 表中有记录
    • 数据库程序 > 库 > 表 > 记录
    • 是SELECT的子句, 将查询后的结果集进行排序
    • 格式:
      • ORDER BY 列名 排序选项
      • SELECT ... FROM ... WHERE ... ORDER BY 列名 排序选项
      • 排序选项: 适用于数字, 英文字母, 日期
        • ASC: 默认, 升序
        • DESC: 降序
    • 注意: WHEREORDER BY的顺序
      • WHERE在前, ORDER BY在后, 否则报错
      • 因为是排序是对SELECT查询出的结果集再次进行排序, 而不是对表中的数据进行排序. 所以要先把SELECT WHERE的查询结果拿到, 才能使用ORDER BY排序


  
Properties配置文件: 将JDBCUtils的连接参数保存在配置文件中
  • JDBC中连接数据库的配置:

    • 会改变的配置项:

      • 驱动类类名
      • url
      • 用户名
      • 密码

    • 我们希望修改更方便, 而不是每次都要修改Java代码后重新编译, 所以想到可以用读取文件的方式动态的获取这些信息

  • Properties文件

    • .properties后缀结尾的文件, 以key=value方式编写配置
    • 配置文件创建位置: 在项目的src目录下创建该配置文件, 在编译时会将该配置文件自动复制到bin目录中



工厂方法设计模式
  • 工厂方法思想: 将每个对象交给各自的工厂去创建




    • 动物有自己的继承体系
    • 工厂也有自己的集成体系
    • 猫, 狗都有各自的工厂

  • 与简单工厂区别

    • 工厂抽象为接口, 有各自工厂实现类
    • 使用工厂的多态创建工厂, 使用动物的多态调用动物的方法


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马