回忆录

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());

  }

 }

13 .数据库不区分大小写

posted @ 2017-11-09 08:21  ·卿欢·  阅读(157)  评论(0编辑  收藏  举报