JAVA基础之sql模糊匹配、外键以及jsp中include的用法
一、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的用法的更多相关文章
- Java基础-SSM之mybatis一对一外键关联
Java基础-SSM之mybatis一对一外键关联 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.准备测试环境(创建数据库表) 1>.创建husbandsfk和wife ...
- MySQL基础day03 存储引擎和外键MySQL 5.6
MySQL基础day03_存储引擎和外键-MySQL 5.6 外键的条件: 1,表的存储引擎为innodb存储引擎 2,表中外键字段的类型要与参考表的字段类型一致 3,外键字段要是索引类型中的一种 M ...
- mysql进阶(十一)外键在数据库中的作用
MySQL外键在数据库中的作用 MySQL外键的目的是控制存储在外键表中的数据,使两张表形成关联,是MySQL数据库中非常重要的组成部分,值得我们去深入了解.那么,MySQL外键究竟起到哪些作用呢?下 ...
- ssh关于含有外键的传值中无法识别正确的action的原因和解决办法
在含有外键的表中,要保存一个值到这个外键时:逻辑思路:需要先将jsp页面的值传到相应的action中,在这个action中需要引入这个外键的实体层和DAO层(DAO层只需set方法),在执行函数中对于 ...
- sql模糊匹配中%、_的处理
防sql注入之模糊匹配中%._处理: StringBuilder sbSql = new StringBuilder(); sbSql.Append(@"SELECT * from tabl ...
- 2016年11月17日--SQL主、外键,子查询
主键 数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键.一个 ...
- SQL主、外键,子查询
主键 数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键.一个 ...
- sql server 2008 外键的级联操作
问题提出:现在我有三张表,学生Student,课程Course,成绩SC 1. 学生表Student,主键是学号Sno 2. 课程Course,主码是课程号Cno 3. 成绩SC,主码是Sno和 ...
- SQL Server的外键必须引用的是主键或者唯一键(转载)
问: In SQL Server , I got this error -> "There are no primary or candidate keys in the refere ...
随机推荐
- ARM开发工具软件命令具体解释---嵌入式回归第三篇
先从bootloader開始,由于临时眼下这些都会是裸机程序相关. 本人这里是VMwarm10.0上安装的红帽linux虚拟机.从以下的截图中能够看出 裸机开发流程: 这里先做第三步(第一步第二步已提 ...
- 以byte方式讀取SPD的數據(SMBus Controller在PCH中)
Reading A Byte of SMBus EEPROM DataThe following steps have to be followed for the System BIOS to re ...
- UIApplication深入学习
多时候,我们不需要关心这个类,我们很少继承这个类,偶尔会调用这个类的api来实现一些功能,但是不可否认,这个类是iOS编程中很重要的一个概念.UIApplication的核心作用是提供了iOS程序运行 ...
- vue2.0 实现click点击当前li,并动态添加class(这种方法不太喜欢)
1,文件内容 ---- 使用v-for遍历数据 ---- @click="selectSort(item)"添加点击事件,并把每个obj=item传入 ---- v-show=&q ...
- nodejs之util工具
util是nodejs的一大核心模块,用来提供常用函数的集合 1.util.inherits(实现对象原型继承) 概要:js的继承是基于原型的,本身并没有继承的语言特性,仅仅是通过复制原型的方式来实现 ...
- django model 多对多保存
- HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo
26 集群使用初步 HDFS的设计思路 l 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: l 在大数据系统中作用: 为各类分布式 ...
- python学习笔记(9)--Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法 这篇文章主要介绍了Python UnicodeEncodeErro ...
- MapReduce编程实例5
前提准备: 1.hadoop安装运行正常.Hadoop安装配置请参考:Ubuntu下 Hadoop 1.2.1 配置安装 2.集成开发环境正常.集成开发环境配置请参考 :Ubuntu 搭建Hadoop ...
- IOS设备信息与机型对照表
http://blog.csdn.net/olsQ93038o99S/article/details/78374343 参考别人的文章吧....