1.数据库连接
1. 交叉连接:返回连接的两个表的笛卡尔积,返回结果的行数等于两个表行的乘积。
语法三种形式:
(1)SELECT * FROM TABLE_A CROSS JOIN TABLE_B
[WHERE 条件]
(2)SELECT * FROM TABLE_A JOIN TABLE_B
[WHERE 条件]
(3)SELECT * FROM TABLE_A, TABLE_B
[WHERE 条件]
2.内连接:合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行。
语法:
SELECT <列名>
FROM 表1 INNER JOIN 表2
ON 表1.列名 条件运算符 表2.列名
[WHERE 条件]
[ORDER BY 排序列]
3.外连接:
n ——左外联结 (LEFT JOIN)
左外连接使用LEFT JOIN连接两表,连接时左表为主表,左表中的每条记录必定出现在结果集中,而在右表中没有对应的记录,将以NULL值进行填充。
——右外联结 (RIGHT JOIN)
右外连接与外连接相似,不同的是右表为主表,右表中的每条记录必定出现在结果集中,而在左表中没有对应的记录,将以NULL值进行填充。
外连接与普通连接的区别
q 普通连接操作只输出满足连接条件的元组
q 外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出
2.Length
(1) 针对数组是属性
(2) 针对字符串是方法
3.JavaScript的三大组成部分是:
1、ECMAScript:JavaScript的核心,描述了语言的基本语法(var、for、if、array等)和数据类型(数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义),ECMAScript是一套标准,定义了一种语言(比如JS)是什么样子。
2、文档对象模型(DOM):DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物。请考虑下面的 HTML 页面:
<html>
<head>
<title>Sample Page</title>
</head>
<body>
<p>hello world!</p>
</body>
</html>
这段代码可以用 DOM 绘制成一个节点层次图:
DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用 DOM API 可以轻松地删除、添加和替换节点(getElementById、childNodes、appendChild、 innerHTML)。
3、浏览器对象模型(BOM)对浏览器窗口进行访问和操作。例如弹出新的浏览器窗口,移动、改变和关闭浏览器窗口,提供详细的网络浏览器信息(navigator object),详细的页面信息(location object),详细的用户屏幕分辨率的信息(screen object),对cookies的支持等等。BOM作为JavaScript的一部分并没有相关标准的支持,每一个浏览器都有自己的实现,虽然有一些非事实的标准,但还是给开发者带来一定的麻烦。
4.用jQuery的ajax提交登录信息
// 登陆 function loginAjax(param) { var self = this; $.ajax({ type: 'post', url: '/user/login', dataType: 'json', data: param, success: function(data) {
}, error: function(error) { console.log(error); } }) } |
1.以上是一个登录的Ajax方法,参数说明
url: 请求的链接地址
data: 请求的参数 以json格式传递 例如:{username: 'name', password: '123456'}
type: 请求方法 常用的是 get 或者post , 默认为get请求。
dataType: 预期服务器返回的数据类型
2.以下是jQuery官方文档中的一段ajax请求代码:
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
5.getParameter和getAttribute的区别
今天有朋友问这个问题,在这里总结下:
1.getAttribute是取得jsp中 用setAttribute設定的attribute
2.parameter得到的是string;attribute得到的是object
3.request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。即request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。
总结:
getattribute一般在前台用与获取后台转发值
getParameter一般在后台用于获取前台请求值
getParameter 返回的是String 用于读取参数中的值;
getAttribute 返回的是Object,需进行转换,可用setAttribute设置成任意对象,使用很灵活,可随时用;
getParameter 获取请求值
getAttribute 获取转发值
6.java中怎样将char和String相互转换
窝窝军团Ly58 | 浏览 16519 次 问题未开放回答
推荐于2016-08-11 16:51:16
最佳答案
String str=“abcdef”;
char[] ch=st.toCharArray();
char c = 'a';
String str = String.valueOf(c);
7.Mybatis
Mybatis持久化层,操作数据库
最基本的持久化:文件操作,IO操作
8.析构函数
析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存)。
析构函数简介
以C++语言为例:[1] 析构函数名也应与类名相同,只是在函数名前面加一个位取反符~,例如~stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数(即使自定义了析构函数,编译器也总是会为我们合成一个析构函数,并且如果自定义了析构函数,编译器在执行时会先调用自定义的析构函数再调用合成的析构函数),它也不进行任何操作。所以许多简单的类中没有用显式的析构函数。
C++语言析构函数格式
C++当中的析构函数格式如下:
1 2 3 4 5 6 7 8 9 |
class <类名> { public: ~<类名>(); }; <类名>::~<类名>() { //函数体 }; |
如以下定义是合法的:
1 2 3 4 5 6 7 8 9 |
class T { public: ~T(); }; T::~T() { //函数体 }; |
当程序中没有析构函数时,系统会自动生成以下析构函数:
<类名>::~<类名>(){},即不执行任何操作。
9.Scanner的next()和nextLine()区别
next():
一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串。nextLine():
方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
10.父类引用指向子类对象
例如父类Animal,子类Cat,Dog。其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类。
Animal animal = new Cat();
即声明的是父类,实际指向的是子类的一个对象。
11. java运算符优先级
单目乘除为关系,逻辑三目后赋值
单目:单目运算符+ -(负数) ++ --等
乘除:算数单目运算符 * / % + -
为:位移单目运算符 << >>
关系:关系单目运算符 > < >= <= == !=
逻辑:逻辑单目运算符 && || & | ^
三目:三目单目运算符A>B?X:Y
后:无意义,仅仅为了凑字数
赋值:赋值=
12.清空session
session.removeAttribute("sessionname")是清除SESSION里的某个属性.
session.invalidate()是让SESSION失效.
或许你可以用getAttributeNames来得到所有属性名,然后再removeAttribute
我是如下在Spring中实现的:
private void initSession(HttpServletRequest request){
Enumeration em = request.getSession().getAttributeNames();
while(em.hasMoreElements()){
request.getSession().removeAttribute(em.nextElement().toString());
}
}