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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 嗨。 于 2018-1-11 15:27 编辑

【石家庄校区】就业班笔记第二波

XML是指可扩展的标记语言,它是一种标记语言,用来描述数据。
XML文件:
        以‘xml’后缀结尾
XML文档的组成:
        文档声明:写在文档第一行 最简单语法<?xml version="1.0" encoding="UTF-8" ?>
        元素
        元素的属性
        注释
        CDATA区
        特殊字符
        处理指令(PI:Processing Instruction)
        
包含标签体:<age>18</age> <Student><age>18</age></Student>
不包含标签体:<Student name="张三" age="18"/>


CDATA区:Character data
        格式:<![CDATA[你的内容]]>
        作用:CDATA区内的内容只会被当作被当作普通字符串解析,即使有标签也不会被解析
        '&'--'&'        
        '<'--'<'
        '>'--'>'
        '"'--'"'
        '''--'&apos'
处理指令
        <?
                xml-stylesheet ytpe="text/css"
               
        ?>
        
DTD约束
        .dtd
        DTD(Dicument Type Definition):文档类型定义
        作用:约束XML的书写规范
        引入xml:<!DOCTYPE 名 SYSTEM "路径">
                <!ELEMENT 书架(书+)>
                        <!ELEMENT 书(书名,价格,作者)>
                                <!EKEMENT 书名(#PCDATA)>
Schema约束
        .xsd
        用于取代DTD


DOM解析方式:
        将整棵树一口气全部加载到内存,我们可以非常方便的操作任意的标签和属性,但是当整棵树特别大的时候,会出现内存溢出的问题
        节点:标签、属性、文本、甚至是换号都称之为节点
                好处:文档加载完整,结点操作简单
                缺点:内存消耗大
SAX解析方式:
        一个节点一个节点的进行解析
                好处:节省内存
                缺点:文档加载不完整,如果要进行增删改结点,要反复多次 查找
XML解析开发包:
        JAXP:是SUN公司推出的解析标准实现。
        Dom4J:是开源组织推出的解析开发包。
启动mysql:
        我的电脑→属性→管理→服务和应用程序→服务
        启动mysql:net start mysql
        停止mysql:net stop mysql
MySQL分为两个部分
        服务端
        客户端
MySQL的登录和退出
打开命令行        
        方式1:
                mysql -u用户名 -p密码
                exit
               
数据库基本操作
        create database 数据库名;        创建库
        show databases :                        显示所有数据库
        drop database 数据库名:        删除数据库
        show create database 库名:查看指定数据库的建库信息
        创建数据表:
                CREATE TABLE 表名(
                列名1 数据类型 约束,
                列名2 数据类型 约束,
                ...
        )
        列出当前数据库的所有表`SHOW TABLES;`
        查看表的结构`DESC 表名;`: desc=description描述
        删除表`DROP TABLE 表名;`
        
        添加列,添加字段
        alter table 表名 add 列名 数据类型 约束
        
        修改列
        alter table 表名 modify 列名 数据类型 约束
        
        修改列名
        alter table 表名 change 旧列名 新列名 数据类型 约束
        删除列
        alter table 表名 drop 列名
        修改表名
        rename table 表名 to 新名
        修改表的字符集
        alter table 表名 character set 字符集;
        查询数据
        普通查询:
                查询指定列的数据
                        SELECT 列名1,列名2 ... FROM 表名;
                查询所有列的数据
                        SELECT * FROM 表名;
                去重查询
                        SELECT DISTINCT 列名 FROM 表名;
                查询重新命名列
                        SELECT 列名 AS '临时列名' FROM 表名;
                在查询数据中,直接进行数学计算
                        SELECT 列名+值FROM 表名;
                排序查询                order by分组
                        先过滤条件,在查询
                        SLELCT * FROM 表名 ORDER BY 列名1DESC/(ASC)默认,列名2 desc
                聚合函数
                        count sum avg max min
                        如果数据类型不是数值,则结果为:0
                分组
                        group by 列名 having 条件
                        select ---from --where --group by 列名 having 条件
                        
                        group by被分组的列名必须跟随聚合函数
                        完整结构
                        select from  where group by having  order by
        向表中添加数据 insert
        insert into 表名(列名1,列名2,列名3)values(值1,值2,值3),(值1,值2,值3)...
        insert into 表名 values(值1,值2,值3);
        insert into (列名2,列名3)values(值2,值3)
        修改(更新)记录,一般与where(添加条件)一起用
        update 表名 set 列名1=新值,列名2=新值
         条件查询:
        * 即按指定条件查询记录返回符合条件的结果集, 使用`SELECT`和`WHERE`组合
* `WHERE`:
        * 作用: 条件子句, 过滤符合条件的结果
        * 运算符
                * 比较运算符
                        * `=`: 相等
                        * `<>`或`!=`: 不等
                        * `>`: 大于
                        * `<`: 小于
                        * `>=`: 大于等于
                        * `<=`: 小于等于
                        * `BETWEEN...AND...`: 在一个范围内(包含头和尾), `BETWEEN 0 AND 10;` 0~10
                                * 如:
                        * `IN ()`: 在列表中, 满足列表中一个即可
                                * 如: `IN (1, 3, 5)`
                        * `IS NULL`: 是空
                        * `LIKE 通配符`: 模糊查询
                                * 通配符种类
                                        * `%`: 一个百分号可以表示任意个字符. 比如`王%`, `王大锤`, `王五`
                                        * `_`: 一个下划线可以表示一个字符. 比如`王_`, 只能匹配`王五`
                * 逻辑运算符
                        * `AND`: 与. 两边条件同时成立才成立
                        * `OR`: 或. 两边条件只要有一个成立就成立
                        * `NOT`: 非, 取相反结果
                                * `NOT BETWEEN ... AND ...`: 不在范围内
                                * `NOT IN`: 不在列表中
                                * `NOT LIKE`: 不匹配
                                * `IS NOT NULL`: 非空
                * 日期也是可以比较的
        删除指定条件记录
        delete from 表名 where 条件;
        清空表中记录
        delete from 表名;逐条删除记录,不会重置自增计数器
        truncate table 表名:删除表在重建,会重置自增计数器
        
        命令行乱码问题
                set names'gbk';
        约束:
                        主键:PRIMARY KEY,限制该列的记录值不能为空且唯一,相当于同时设定了NOT NULL和UNIQUE
                        非空:NOT NULL
                        自增:AUTO_INCREMENT,设置该列的记录值可以自动增加
                        唯一:UNIQUE:不能重复
                        外键:FOREIGN KEY,主要是连接加一个表的主键
                        检查:CHECK(条件),限制该列插入的记录值是否符合要求
                        默认值:DEFAULT,限制该列记录如果没有插入值,则使用默认值

        
        
SQL分类:
        数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
        数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等
        数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。
        数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等
SQL语法特点:
        SQL语句不去分大小写
        一条SQL语句可以多行但必须以’;’分号结尾
        SQL语句的单词之间通过空格分隔,参数之间使用‘,‘逗号分隔
        字符串和日期要使用“”或者’‘包裹,推荐使用单引号
SQL注释:
        #单行注释
        --空格 单行注释
        /**/多行注释
SQL数据类型
        int                        整形
        double                浮点型
        char                存储空间是固定的,固定长度字符
        varchar                可变字符型
        date                日期类型,格式yyyy-MM-dd
面向接口开发思想
什么是JDBC:
        JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范
        JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
        JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信。
JDBC原理:
        JDBC是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供。
        
JDBC开发步骤
        * 前提: 导入数据库驱动jar包
        * 代码编写步骤:
                1. 注册驱动 最好用:反射技术 ,将驱动类加入到内存
                        * 告知JVM使用哪一个数据库驱动
                        注册方式1
                        Class.fromName("com.mysql.jdbc.Driver");
                                这是MySql推荐的,内部也是使用方式2实现的
                        注册方式2
                        DriverManager.registerDriver(new Driver());
                                
                        
                2. 获取连接        DriverManager类中静态方法
                        * 使用JDBC中的类, 创建对MySQL数据库的连接
                        static Connection getConnection(String url,String user, String password)
                        返回值是Connection接口的实现类, 在mysql驱动程序
                        url:数据库地址 jdbc:mysql://连接的主机的IP地址:端口号//数据库的名字
                        String url="jdbc:mysql://localhost:3306/mybase"
                        user:用户名
                        password:密码
                        在获取连接
                        
                3. 获取语句执行平台
                        * 通过连接对象获取对SQL语句的执行者对象
                        //con对象调用方法 Statement createStatement()获取Statement对象,将SQL语句发送到数据库
                        //返回值是Statement接口的实现类对象,在mysql驱动程序
                4. 执行SQL语句
                        * 使用执行者对象, 向数据库执行SQL语句, 并获取执行结果
                5. 处理结果
                        * 根据项目的业务需求对结果进行操作
                6. 释放资源
                        * 释放数据库连接, 必须




















0 个回复

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