zoukankan      html  css  js  c++  java
  • JAVA基础之sql模糊匹配、外键以及jsp中include的用法

     

    一、SQL模糊匹配

         适用于对字符串进行模糊搜索

    格式:   字段名 Like %关键词%

        

    %          表示这个位置可有任意个字符(没有也可以)

    %关键词%  只要包含关键词就算匹配

    %关键词    以关键词结尾

    关键词%    以关键词开头

    关键%词    关键开头,中间不限,以词结尾

     

     

    _表示任意【一个】字符

    9_    只有2个字符,以9开头,另一个不限

     

    二、基于使用Servlet开发的问题

    ① 当传递大量参数到服务端时,需要写很多代码将参数整理到数据模型对象中,而且需要自己做类型转换,做数据验证(是否必填、是否符合格式要求、是否长度符合要求),以及检查是否有SQL注入漏洞。这些关于参数转换、验证、格式化、安全检查需要写大量低端代码,浪费大量宝贵时间!!而且容易出bug!!!

    ② 每个Servlet类基本上只关联一个URL(关联来多个URL虽然可以,但Servlet中只有一套doPOSTdoGET,反而会使Servlet的代码变得更复杂)。当系统比较复杂,需要处理大量业务员请求时,会产生NServlet类,非常不方便!

     

     

    三、如何看待框架

    a.  虽然直接使用JDBCServlet开发有很很多问题,但它们仍然设计非常优雅的开发基础。

    b. 框架并没有否定JDBCServlet,相反,是在它们的基础上添加了很多功能,来简化开发,解决上述问题。

    c. 框架总体来说分为2大派

    第一派:公开的、公共的、广泛使用的开源框架,任何公司都可以使用

    第二派:私有的、只在一个公司内部 使用

     

    d. 无论是开源还是私有框架,都以JDBCServlet为基础,而且设计思想基本上也差不了多少(大家相互借

    鉴)


    四、

    User

    1

    张三

    1

    2

    李四

    2

    3

    王五

    2

    Department

    1

    教学部

     

    2

    招生部

     

    3

    班主任部

     

    user LEFT  JOIN department d  ON user.id = department.id

    department表中的对应数据填充在对应的位置,user表的行数不变

    user RIGHT JOIN department ON user.id = department.id

    department表为主,将用户表中的数据对应过来,如果用户表中对应了多条,则department复制出相应的条数,最终表行数可能与department不相等(通常会多)

    以上语句运行结果实例:

    1 教学部  u1  u张三

    2 招生部  u2  u李四

    2 招生部  u3  u王五

    3 班主任部 null null null

    Select u*,d.* from u,d    相当于u x d (笛卡尔积)

    Select d*,u.* from d,u    相当于 d x u (笛卡尔积)

    Select u.*,d.* from u Inner Join d

    如果希望从笛卡尔积中筛选数据,可以加 on u.xxx=d.xxx

    Select u.*,d.* from u left join d On u.xxx = d.xxx

    Select u.*,d.* from u right join d On u.xxx = d.xxx

    五、外键

    1.是一种约束条件,设计师使用外键建立表与表之间的连接关系

    2.外键指定的连接有业务意义,它可以强制保持数据的对应关系,不允许意外的数据(没有对应上的数据)存在。它还可以在数据变化时,级联更新、删除或者设置Null(主表中的数据)

    3.外键的存在是对关联查询(左、右、内连接等)的一种规范


    4.外键保持一致的选项
    Cascade    级联     当外键表中的数据变化时 
    会更新 删除 主表中的数据
    Set null    设置为空    当外键中的数据发生变化时
    会将主表(User)中的数据设为null ,User中的数不会被删除 
    No action/restrict  禁止操作    如果更新外键表时 主表中有与其关联数据
    则更新操作失败 相当于未执行操作
    如果非要更新  则应先将关联数据删除或者设置为其它值的方式断开关联关系

    5.外键命名规则   fk_主表名_关联表名

          fk_开头,一看就知道是外键

          主表名_关联表名   可以很清楚地看到是哪两个表之间关系(外键)


    六、JSP中 include的用法

      1.JSPinclude指令可以实现JSP代码的共享应用,可以解决JSP代码重复的问题

      2.代码重复会造成严重的后期维护问题,非常不利于代码的修改、升级

    3.代码重复是质量差的最常见表现!是重构要消灭的第一目标

    4.不断地重构消除项目中的重复代码就能够提升设计能力

     

    、为什么做移动页面要使用谷歌浏览器

          因为iosAndroid系统中的浏览器都是WebKit内核

           而谷歌浏览器使用的就是WebKit内核

     

     使用Firefox的理由是:

          Firefox的查看器和网络监视等工具都是中文的


  • 相关阅读:
    微服务-分解应用程序从而实现更好的部署特性及可伸缩性
    <HTML5和CSS3响应式WEB设计指南>译者序
    使用亚马逊的Route53服务
    Java中测试异常的多种方式
    跑在路上的程序员随想
    使用ruby过程中遇到安装gem失败的一些通用解决方案
    Spring-Context之九:在bean定义中使用继承
    Spring-Context之八:一些依赖注入的小技巧
    配置ngnix
    PHP程序员进阶学习书籍参考指南
  • 原文地址:https://www.cnblogs.com/yangxiansen/p/7860036.html
Copyright © 2011-2022 走看看