javaWeb
2018-01-04 16:03:22 0 举报
AI智能生成
javaweb
作者其他创作
大纲/内容
Oracle数据库
数据库理论
数据模型三层次
概念模型
逻辑模型
物理模型
关系模型
关系数据结构
关系操作集合
关系完整性约束
数据库分类
关系型数据库
Oracle
MySQL
SQL server
DB2
..........
非关系型数据库
层次式数据库
网络式数据库
关系式数据库
结构化查询语言SQL
数据查询语言DQL
select
数据操作语言DML
事务处理语言TPL
数据控制语言DCL
数据定义语言DDL
DQL
select语句的执行流程
1.通过FROM子句中找到需要查询的表 2.通过WHERE子句进行非分组函数筛选判断 3.通过GROUP BY子句完成分组操作 4.通过HAVING子句完成组函数筛选判断 5.通过SELECT子句选择显示的列或表达式及组函数 6.通过ORDER BY子句进行排序操作
简单查询
表别名
字段别名
from子句
where条件语句
order by排序
asc升序(默认)
desc降序
可以有多个排序规则
函数
单行函数(可嵌套在任何层)
字符函数
大小写转换
lower
小写
upper
大写
initcap
首字母大写
字符处理
从s的n1为开始截取至n2
length(s)
s的长度
返回s1被s2从左面填充到n1长度的字符串
返回s1被s2从右面填充到n1长度后的字符串
把s1中的s2用s3替换
trim(s1 from s2 )
从s2中去掉s1无参数是去掉首尾空格
数值函数
m%n
dual虚表
日期函数
sysdate
d1加上3个月后的日期
返回日期d后的第一个星期n的日期
last_day(d)
返回d日期所在月的最后一天
round (d['fmt'])
按照fmt格式进行四舍五入默认为DD
trunc (d['fmt'])
按照fmt格式进行截取 默认为DD
extract([year] [month] [day] from d ['fmt'])
返回d中的年/月/日
转换函数
显式转换函数
隐式转换函数
通用函数
当exp1是null时,取默认值exp2
exp1如果不为null则取exp2的值,否则取exp3的值
如果两个表达式相等,返回null值,否则返回exp1的值
从左往右返回参数列表的第一个不为null的值
case
decode
分组函数
min( )
max( )
sum( )
avg( )
count( )
分组查询
使用group by子句进行分组查询group by 后面跟分组字段查询的列必须是分组字段
having分组条件子句having子句中的字段只能是分组函数或者是group by之后的字段
关联查询
笛卡儿积
记录数是两个表记录数的乘积
等值连接
where等值连接
自然连接
natural join
同名字段
using等值连接
join using(字段名)
on等值连接
join on
外连接
左外连接
left outer join
右外连接
right outer join
全外连接
full outer join
(+)的外连接
自连接
特殊的外连接
子查询
单行单列子查询
子查询最多返回一行一列结果
多行单列子查询
子查询的结果是多行一列
操作符 : (not)in any all
多列子查询
操作符 : in
查询中not in 不能有null值
子查询所在的位置
显示字段列表
form子句
where子句
having子句
分页查询
使用rownum伪劣
使用集合运算分页查询
集合运算查询两表需要对应关系
联合运算
union
剔除重复
默认排序第一行升序
union all
不剔除重复
不排序
相交运算
intersect
相减运算
minus
高级子查询
嵌套子查询
用子查询的值来确认或取消父查询的候选行
相关子查询
子查询的where条件中使用的主查询的字段值
条件判定查询
exists
子查询返回true,对应主查询记录作为结果集显示
not exists
子查询返回false,对应主查询记录作为结果集显示
层次查询
具有伪列level
start with 指定起点
connect by prior指定父子关系
where条件去除节点connect by去除分支
DML
insert
insert into 表名(字段列表) values(值列表)
使用子查询插入多条数据insert into 表名 (字段列表)子查询
update
delete
delete from 表名 where 条件语句
merge
合并表
TPL
要么全部成功,要么全不成功 事务对dml语言操作进行管理
事务四个特性ACID
原子性
一致性
隔离性
持久性
事务操作
显式结束
提交commit
回滚rollback
隐式结束
隐式提交
执行一个DDL
执行一个DCL
从SQL*Plus正常退出
隐式回滚
从SQL*Plus中强行退出
客户端连接到服务器端异常中断
系统崩溃
设置保存点可以回滚到指定保存点
savepoint
DDL
truncate
truncate table 表名
表、视图、索引、触发器等对象的创建、修改、删除、重命名、截断的语法
create
create table 表名
alter
alter table 表名
修改列
修改列名
删除列
drop
drop table 表名
rename
rename old to new
完整性约束
约束类型
not null
primary key
级联
unique
foreign key
check
自定义约束
约束分类
列级约束
not null只能是列级
表级约束
联合主键只能是表级约束
命名规则
表名_列名_约束类型
约束操作
定义约束
追加约束
alert关键字
删除约束
约束的启用与禁用
其他数据库对象操作
视图
create or replace view...
虚拟表
操作与表类似
建议不要通过视图进行dml操作,一般在实际使用中会将视图设置只读视图
索引
权限
grant赋值权限
revoke收回权限
Oracle实现主键自增
序列
伪列(属性)
nextval
currval
触发器
子主题
触发时机
before
after
instead of
这能叫啥
JavaScript
数据类型
5种基本数据类型
undefined
使用var声明但未初始化
未初始化和未声明的变量使用typeof返回undefined
null
逻辑上的null表示一个空对象的指针
使用typeof返回为Object
boolean
使用Boolean( )进行转换
转换为true
任何非空字符串
任何非零数字
任何非空对象
转换为false
空字符串
null及undefined
0以及NaN
string
特性
又0或多个16位的Unicode字符组成(两个字节16位)
单引号与双引号不能交叉使用
使用length属性访问长度
使用\\转义
number
数值范围
最小值
Number.MIN_VALUE
最大值
Number.MAX_VALUE
isFinite( )
超出范围--false
合法范围--true
NaN(Not a Number)
特点
任何涉及NaN的操作都将返回NaN
NaN与任何数值包括其自身都不相等
isNaN
可以转换为数值--falseisNaN(\"66\")--false
不能转换为数值--trueisNaN(\"66aa\")--true
数值转换
parseInt( )
忽略前置空格
直接找到第一个非空格字符
不是数字字符或符号
NaN
数字字符
解析所有后续字符
遇到非数字字符结束
小数点不是有效数字
Object
定义
一组数据或功能的集合
声明
用new关键字声明
属性与方法
Constructor
保存用于创建当前对象的函数
isPrototypeOf(Object)
检测传入对象是否是另一个对象的原型
toLocalString( )
toString( )
返回对象的字符串表示
valueOf( )
变量
命名
方法
匈牙利命名法
变量名=类型+对象描述
驼峰命名法
全部小写
单词与单词间用下划线分割
大小写混合
大驼峰
每个单词首字母大写
小驼峰
注意事项
英文字母或者下划线开头
不能使用JavaScript关键词与保留字
使用var关键字
变量类型
值类型
保存与复制的是值本身
使用typeof检测数据类型
基本数据类型是值类型
引用类型
保存与复制的是指向对象的指针
使用instanceof检测数据类型
使用new( )方法构造出的对象是引用型
作用域
全局变量
包含
在函数外部声明的变量
在函数内声明的无var的变量,函数被调用后,变量为全局变量
调用
当前函数体的内部
局部变量
在函数内部使用var声明
函数的参数变量
当前函数体内部
优先级
局部变量>同名参数变量>同名全局变量
忽略块级作用域
全局变量是全局对象的属性
局部变量是调用对象的属性
生命周期
函数调用完毕或被删除
回收机制
标记清除
引用计数
运算符
算术运算符
复合赋值运算符
自增自减
关系运算符
大小比较
相等比较
相同比较
对象运算符
in
判断左侧运算数是否为右侧运算数的成员
instanceof
判断对象实例是否属于某个类或构造函数
new
创建对象
.及[ ]
存取对象的数组或元素
( )
逻辑运算符
! 非
&& 逻辑与
|| 逻辑或
位运算符
逻辑位运算
按位非~
按位与&
按位或 |
按位异或 ^
位移操作
左移 <<
有符号右移 >>
无符号右移 >>>
其它运算符
typeof 类型判定运算符
流程语句
循环语句
while
do-while
for
for(1;2;3){4}
按照1243执行
for-in
Java的zengqiangfor循环
for(声明变量 in 对象){代码片段}
对象的值不能是null或者undefined
跳转语句
return
终止函数并返回一个值
break
终止整个循环
continue
选择语句(分支)
if...
if...else...
if...else if... .... else...
switch
可以使用string作为switch的选择对象
异常处理语句
throw
抛出异常
try
指明可能抛出异常的代码
catch
捕获异常
finally
后期处理
数组
创建方法
var Obj = new Array( );
var Obj = new Array(length );
基本操作
使用[ ]对数组进行选取定位
数组属性
constructor
引用数组对象的构造函数
length
返回数组长度
prototype
通过增加属性和方法扩展数组定义
push( )
末尾添加
unshift( )
头部添加
concat( )
合并数组
pop( )
尾部删除并返回删除元素
shift( )
头部删除并返回删除元素
父节点
splice( )
slice( )
reverse( )
sort( )
转换为字符串
转换为本地格式的字符串
join( )
用指定分隔符分割数组并转换为字符串
indexOf
从开始位置开始查找
lastIndexOf
从结束为止开始查找
迭代方法
every
filter
map()也返回一个数组,而这个数组的每一项都是在原始数组中的对应项上运行传入函数的结果。------可以当作是遍历数组并对数组中的每一项执行所要执行的函数。
forEach()
map
some
静态方法
function 函数名 (形参列表){语句块}
动态匿名方法
var 函数名 = new Function([\"形参列表\
直接量方法
函数名 = function( [ 形参列表 ] ) { 函数体 }
直接调用
函数名 ( 实参列表 )
在链接中调用
<a href = \"javascript:函数名( )\">文字</a>
在事件中调用
事件类型 = \"函数名( )\"
递归调用
function 函数名( ){ 代码 函数名( );}
argument对象
功能
存放实参的参数列表
仅能在函数体内使用
函数声明自动初始化
属性
length : 获取函数实参的长度
callee : 返回当前正在指向的函数
caler : 返回调用当前正在执行的函数的函数名
函数参数
分类
实参 : 调用函数时传递给函数的实际参数
参数个数没有限制
实参<形参
多于形参=undefined
实参>形参
多于实参被忽略
参数类型没有限制
通过arguments对象访问参数数组
参数始终按值传递
基本类型 : 传值
引用类型 : 传址
指针标识
this : 指向当前操作对象
callee : 指向参数集合所属函数
prototype : 指向函数附带的原型对象
constructor : 指向创建该函数的构造函数
字符串函数
查找方法
charAt( )
返回字符串中的第n个字符
超出范围返回空白字符
indexOf( )
检索字符串是否含有指定字串
匹配方法
match( )
查找正则表达式的匹配
参数 : 要进行匹配的正则表达式
返回值 : 存放匹配结果字符串的数组
根据全局属性 g 进行匹配
search( )
匹配正则表达式
参数 : 格式串
忽略全局标记g和last Index( )
replace( )
替换与正则表达式匹配的字符串
split( )
按指定字符分割字符串
参数 : 分隔符
返回值 : 字符串数组
操作方法
截取字符串
正则表达式
创建
字面量
var 变量名=/表达式/模式修饰符
构造函数
var 变量名=new Regexp(\"表达式\",\"模式修饰符\"
模式修饰符
i---执行对大小写不敏感的匹配。
g--执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m--执行多行匹配
RegExp 对象方法
test()
检索字符串中指定的值。返回 true 或 false。
exec
用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
index ---匹配在字符串中的位置
支持正则表达式的 String 对象的方法
DOM操作
获取节点
documen
getElementById()
返回对拥有指定 id 的第一个对象的引用。
getElementsByName()
返回带有指定名称的对象集合。
getElementsByTagName()
返回带有指定标签名的对象集合。
write()
打开一个流,以收集来自任何 document.write() 或 document.writeln() 方法的输出
open()
调用 open() 方法打开一个新文档并且用 write() 方法设置文档内容后,必须记住用 close 方法关闭文档,并迫使其内容显示出来。
childNodes 节点指针
firstChild
返回元素的首个子元素。
lastChild
返回元素的最后一个子元素。
nextSibling
兄第节点 返回位于相同节点树层级的下一个节点。
previousSibling
返回位于相同节点树层级的前一个元素。
parentNode
返回元素的父节点。
childNodes
返回子节点集合,不仅包括元素节点,也包括文本节点,浏览器会将标签之间的空白默认为文本节点
children
返回元素节点,不包括文本节点,并且不包括只是节点
节点操作
createElement
创建节点元素 document.createElement(标签元素)
createAttribute
创建属性节点 document.createAttri(元素属性)
createTextNode
创建文本节点 document.createTextNode(文本内容)
removeAttribute()
从元素中移除指定属性。
插入节点
element.appendChild()
向元素添加新的子节点,作为最后一个子节点
element.insertBefore()
在指定的已有的子节点之前插入新节点。
替换节点
element.replaceChild()
替换元素中的子节点。
删除节点
element.removeChild()
从元素中移除子节点。
复制节点
element.cloneNode()
克隆元素
true---节点及所有子节点
false--节点
属性操作
element.getAttribute()
返回元素节点的指定属性值。
element.setAttribute()
把指定属性设置或更改为指定值。
element.removeAttribute()
从元素中移除指定属性
文本操作
window对象
Navigator 导航器对象
包含有关浏览器的信息。
Screen 显示器对象
包含有关客户端显示屏幕的信息。
History 历史 对象
back()
加载 history 列表中的前一个 URL。
forward()
加载 history 列表中的下一个 URL。
go()
包含用户(在浏览器窗口中)访问过的 URL。
Location 位置对象
href
返回完整的url
search
返回或设置从?开始的url
reload()
重新加载当前页面
document文档对象
窗口设置
moveTo()
把窗口的左上角移动到一个指定的坐标。
resizeTo()
把窗口的大小调整到指定的宽度和高度。
moveBy()
可相对窗口的当前坐标把它移动指定的像素。
resizeBy()
按照指定的像素调整窗口的大小。
print
打印当前窗口的内容
focus
scrollBy()
按照指定的像素值来滚动内容。
scrollTo()
把内容滚动到指定的坐标。
焦点控制
blur
把键盘焦点从顶层窗口移开
打开或关闭子主题
open()
打开一个新的浏览器窗口或查找一个已命名的窗口。
close()
关闭浏览器
定时器
setInterval()
按照指定的周期(以毫秒计)来调用函数或计算表达式。
clearInterval()
取消由 setInterval() 设置的 timeout。
setTimeout()
在指定的毫秒数后调用函数或计算表达式。
时钟
计时器
clearTimeout()
取消由 setTimeout() 方法设置的 timeout。
对话框
alert
显示带有一段消息和一个确认按钮的警告框。
confirm()
显示带有一段消息以及确认按钮和取消按钮的对话框。
prompt
显示可提示用户输入的对话框。
mybatis
基础
介绍
依赖于mybatis-3.4.5.jar包
项目构建
使用xml构建
XML 配置文件
别名
映射文件
XML 映射语句文件
当字段与属性不一致时使用resultMap标签进行自定义关系映射
三个重要对象
SqlSessionFactoryBuilder
SqlSessionFactory
SqlSession
使用maven构建项目
pom.xml 文件中加入以下信息
动态sql语句标签
if
foreach
bind
映射查询
一对一映射查询
新建一个实体类作为resultType
使用association组合实体类
一对多映射查询
多对多映射查询
缓存
一级缓存
延迟加载
二级缓存
查询远大于增删改时使用
增删改会清除当前namespace的缓存
第三方缓存插件
默认缓存关闭
Ajax
Asynchronous JavaScript and XML异步的JavaScript和XML
Ajax的核心只有JavaScript . XMLHTTPRequest 和DOM
Ajax的实现
主要属性
readyState
responseText
服务器返回的响应文本
responseXML
响应信息是XML
status
触发Ajax事件--创建xmlHttpRequest对象--open调用--send发送请求给Ajax引擎
post方式send请求内容
jquery封装的ajax
json
任何类型都可以通过json来表示
json对象<--->json数组
回调函数
回调函数和普通函数的区别
Jsp
Java Server PagesJava服务器页面动态网页开发技术
jdk
tomcat
`···································
1.客户端发出请求
2.web容器将JSP转换成类似Servlet的Java源代码
3.将Java源代码编译成class文件
4.jvm加载执行class文件
5.执行结果响应到客户端
jsp指令
<%@ page ... %>
为容器提供当前页面的使用说明
<%@ include ... %>
<%@ taglib ... %>
引入标签库
<% %>和<%= %>区别
jsp动作标签
jsp:include
在页面被请求时引入一个文件
jsp:forward
把请求转到一个新的页面。
jsp九大隐式对象
application
session
页面关闭或者会话过期
session原理
request
servlet处理结束或者重新发起请求
page
整个jsp页面的代表
pageContext
response
out
Exception
config
jstl标签
jstl核心标签
forEach
choose...when...otherwise...
redirect
jstl格式化标签
formatDate
formatNumber
el表达式
${ }表示
使用 . 和[ ]读取存储数据
可以使用运算符
el表达式作用
jsp和JavaScript区别
0 条评论
回复 删除
下一页