一、SQL模糊匹配

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

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

    

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

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

%关键词    以关键词结尾

关键词%    以关键词开头

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

 

 

_表示任意【一个】字符

个字符,以9开头,另一个不限

 

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

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

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

 

 

三、如何看待框架

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

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

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

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

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

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

鉴)

四、

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.JSP的include指令可以实现JSP代码的共享应用,可以解决JSP代码重复的问题

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

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

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

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

因为ios和Android系统中的浏览器都是WebKit内核

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

使用Firefox的理由是:

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

JAVA基础之sql模糊匹配、外键以及jsp中include的用法的更多相关文章

  1. Java基础-SSM之mybatis一对一外键关联

    Java基础-SSM之mybatis一对一外键关联 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.准备测试环境(创建数据库表)  1>.创建husbandsfk和wife ...

  2. MySQL基础day03 存储引擎和外键MySQL 5.6

    MySQL基础day03_存储引擎和外键-MySQL 5.6 外键的条件: 1,表的存储引擎为innodb存储引擎 2,表中外键字段的类型要与参考表的字段类型一致 3,外键字段要是索引类型中的一种 M ...

  3. mysql进阶(十一)外键在数据库中的作用

    MySQL外键在数据库中的作用 MySQL外键的目的是控制存储在外键表中的数据,使两张表形成关联,是MySQL数据库中非常重要的组成部分,值得我们去深入了解.那么,MySQL外键究竟起到哪些作用呢?下 ...

  4. ssh关于含有外键的传值中无法识别正确的action的原因和解决办法

    在含有外键的表中,要保存一个值到这个外键时:逻辑思路:需要先将jsp页面的值传到相应的action中,在这个action中需要引入这个外键的实体层和DAO层(DAO层只需set方法),在执行函数中对于 ...

  5. sql模糊匹配中%、_的处理

    防sql注入之模糊匹配中%._处理: StringBuilder sbSql = new StringBuilder(); sbSql.Append(@"SELECT * from tabl ...

  6. 2016年11月17日--SQL主、外键,子查询

    主键 数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键.一个 ...

  7. SQL主、外键,子查询

    主键 数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键.一个 ...

  8. sql server 2008 外键的级联操作

    问题提出:现在我有三张表,学生Student,课程Course,成绩SC 1.  学生表Student,主键是学号Sno 2.  课程Course,主码是课程号Cno 3.  成绩SC,主码是Sno和 ...

  9. SQL Server的外键必须引用的是主键或者唯一键(转载)

    问: In SQL Server , I got this error -> "There are no primary or candidate keys in the refere ...

随机推荐

  1. [svc]centos6系统安装(分区)及其18处调优调优最佳实战

    系统下载 在阿里云下载 可以使用最小化的,也可以使用dvd版(CentOS-6.7-x86_64-bin-DVD1.iso),其中dvd版方便安装过程中选包. 一. 系统安装 1,时区选择 2,磁盘分 ...

  2. iOS开发-iOS 10 由于权限问题导致崩溃的那些坑

     iOS开发-iOS 10 由于权限问题导致崩溃的那些坑 6月份的WWDC大会结束有一段时间了,相信很多开发者也是在努力工作的闲时用着Xcode8 Beta版学习着新的特性吧. 使用Xcode8写自己 ...

  3. angularJs 页面定时刷新

    angularJs 页面定时刷新 页面定时刷新并在页面离开时停止自动刷新 var autoRefresh; //自动刷新 autoRefresh = $interval($scope.loadData ...

  4. js in

    定义: in操作符用来判断某个属性属于某个对象,可以是对象的直接属性,也可以是通过prototype继承的属性.(参见hasOwnProperty) 注意事项: n         对于一般的对象属性 ...

  5. echarts 百度图表

    手册说明 http://echarts.baidu.com/option.html 3.0版本加了很多新属性可以看以上链接  此文用的3.x版本 第一步 引入 <script src=" ...

  6. 单调栈poj2796

    题意:给你一段区间,需要你求出(在这段区间之类的最小值*这段区间所有元素之和)的最大值...... 例如: 6 3 1 6 4 5 2 以4为最小值,向左右延伸,6 4 5  值为60....... ...

  7. 基于Redis实现延时队列服务

    背景 在业务发展过程中,会出现一些需要延时处理的场景,比如: a.订单下单之后超过30分钟用户未支付,需要取消订单 b.订单一些评论,如果48h用户未对商家评论,系统会自动产生一条默认评论 c.点我达 ...

  8. 基于HTML5堆木头游戏

    今天要来分享一款很经典的HTML5游戏——堆木头游戏,这款游戏的玩法是将木头堆积起来,多出的部分将被切除,直到下一根木头无法堆放为止.这款HTML5游戏的难点在于待堆放的木头是移动的,因此需要你很好的 ...

  9. ubuntu -- mf210v拨号流程

      1 脚本建立 Root权限进入Ubuntu,在 /etc/ppp/ 下面建立两个目录,如果有就不需要建立了.直接把脚本放进去或者建立新文件即可. cd /etc/ppp mkdir peers c ...

  10. REST学习

    RPC架构与REST架构 RPC:RPC将服务器看作一些列动作的集合(需要做某件事) REST:将服务器看作分布式对象集合,客户端通过调用这些对象上的方法来执行特定的任务,组件交互的可伸缩性.接口的通 ...