• 回忆录


    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 .数据库不区分大小写

  • 相关阅读:
    Instagram/IGListKit 实践谈(UICollectionView框架)
    谈UIView Animation编程艺术
    Swift Protobuf 初探 —— 继 XML 后,JSON 也要被淘汰了吗
    APP缓存数据线程安全问题
    玩转UICollectionViewLayout
    iOS常用宏 定义
    性能优化之NSDateFormatter
    iOS 用自签名证书实现 HTTPS 请求的原理
    iOS开发调试Reveal使用
    iOS配置SSO授权
  • 原文地址:https://www.cnblogs.com/mlan/p/7807668.html
Copyright © 2020-2023  润新知