JavaWeb 学习007-4个页面,5条sql语句(添加、查看、修改、删除)2016-12-2
需要复习的知识: 关联查询
=================================================================================
班级模块
学生模块
课程模块
爱好模块
用户信息模块
一个项目最开始要做的是 tbuser的编写,这对应着登录。
每一个模块,都有list页面,add操作,查看操作,修改操作,删除操作
dao层面是数据库连接的层面,需要写的是6的java方法;
biz层面是业务逻辑判断,只需要把dao的结果返回给biz就可;
web层面是各个servlet的编写;
对于每一个模块,首先是entity --> dao --> biz -->jsp和servlet的编写
===================================================
①每个list页面的 for循环,都要配置 taglib 有uri属性和prefix属性
②<c:forEach> 必须要写2个属性
①items:从servlet里拿到的key key必须用EL表达式写 例如:${glist}
②var:每次进入循环取到的对象
for(Grade g : list){
sysout(g.getGradeid())
sysout(g.getGradename())
}
-------------------------------------------------------------------------------------
request.setAttribute('rows',rows) 这个key有什么用?
重点注意:进行非空验证的时候,javascript语句要写在 head的子元素里面
--------------------------------------------------------------------------------------------
1.
为什么查看页面的 int stuid = request.getparemeter
select * from student where stuid = 1
因为是查看需要通过参数id来查,所以页面会传给servlet一个id值,
那么修改页面呢?
update student set stuname ='' where stuid=''
所以修改页面不仅需要id值,还需要传给一个name值,要隐藏主键
可是隐藏主键 有什么用处啊?
2.
<a href="doDetailStudent.action?stuid=${student.stuid}">查看</a>
<a href="toUpdateStudent.action?stuid=${student.stuid}">修改</a>
<a href="doDeleteStudent.action?stuid=${student.stuid}"
onclick="return confirm('确认删除信息吗?');" >删除</a>
---======================
3.
学生表中 要有班级的 关联
表明学生是哪个班级的,关联查询
is-a 是继承
has-a 是封装
vo类的编写:
就是在查询学生的时候,要显示对应的班级名称,即 关联查询
4个页面,5条sql语句,6个java方法
grade模块(一的一方) student模块(多的一方)
一个班级可以有多个学生,这是关系模型图中建立的关系
应该是 一的一方的主键充当多的一方的外键
打个比方来说:就是查询student必须要能看到grade信息,
但是查询grade就不用看到student信息
------------------------------------------------------------------------------------------
那这样来说,student模块即多的一方的代码编写 和 grade模块 即一的一方代码的编写
异同:
需要查询显示班级的操作:queryAll-detail.
就只有这两个操作的代码需要改动。
public List<StudentVO> queryAllStudent();
public StudentVO detailStudent(int id);
就是把原来应该是student的地方 换成studentVO
------------------------------------------------------------------------------------
但是问题来了:
以前学过的数据库关联,就是说关系模型图的绘制时候,记得不是很清楚了。
如何实现grade和student的关联?
难道只是在建student 表的时候,多写上一列grade的主键就可以吗?
JavaWeb 学习007-4个页面,5条sql语句(添加、查看、修改、删除)2016-12-2的更多相关文章
- JavaWeb 学习009-4个页面,5条sql语句(添加、查看、修改、删除)
===========++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==+++++++++ 2016-12-3------ ...
- JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)
今天遇到的问题: 1. 在list页面上添加信息时候,跳转到doAdd页面后,点击保存按钮,能够跳转回list页面,但是新增的信息不能显示出来,就像是没有执行添加操作一样. 这是什么问题? ①是不是到 ...
- JavaWeb 学习005-4个页面,5条sql语句(添加、查看、修改、删除)
今天完成了的事: = 1.班级模块,list页面的添加班级信息操作,中文乱码问题 尚待解决 这俩天做得工作是: 首先搭建好main页面:是由top.left.right三个部分构成的,拼接到一起. 流 ...
- SQL反模式学习笔记18 减少SQL查询数据,避免使用一条SQL语句解决复杂问题
目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积.导致查询性能降低. 如 ...
- 一条SQL语句是如何执行的?--Mysql45讲笔记记录 打卡day1
写在前面的话:回想以前上班的时候,空闲时间还是挺多的,但是都荒废了.如今找工作着实费劲了.但是这段时间在极客时间买了mysql45讲,就好像发现了新大陆一样,这是我认真做笔记的第一天,说实话第一讲我已 ...
- select * from user 这条 SQL 语句,背后藏着哪些不可告人的秘密?
作为一名 Java开发人员,写 SQL 语句是常有的事,但是你知道 SQL 语句背后的处理逻辑吗?比如下面这条 SQL 语句: select * from user where id=1 执行完这条语 ...
- mysql一条sql语句如何执行的?
mysql 一条sql语句如何执行的? 文章内容源自:极客时间-林晓彬老师-MySQL实战45讲 学习整理 在了解一条查询语句如何执行之前,需要了解下MySQL的基本架构是怎样的,如下图所示: 可以看 ...
- 打开黑盒:从 MySQL架构设计出发,看它是如何执行一条 SQL语句的
1.把MySQL当个黑盒子一样执行SQL语句 我们的系统采用数据库连接池的方式去并发访问数据库,然后数据库自己其实也会维护一个连接池,其中管理了各种系统跟这台数据库服务器建立的所有连接 当我们的系统只 ...
- 一条Sql语句分组排序并且限制显示的数据条数
如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...
随机推荐
- Do things for others
早上,按照平常的时间去吃早饭,食堂格外的空旷,打饭的员工说今天人很少,我说昨天是有元旦晚会,她说今天是放假,我后来想,还是她说的更有道理.她看的比我清楚更清楚! 幸亏昨晚上记录下了早上要帮别人搜论文的 ...
- javascript this关键字指向详解
在之前写代码的经历中,常常试过写着写着this就莫名其妙的不知道指向到哪里去了.今天看了曾探的javascript设计模式,里面特别谈到了this在不同情况下指代的对象,非常有意思. this指代的情 ...
- js 判断IOS版本号
先来观察 iOS 的 User-Agent 串: Phone 4.3.2 系统:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; e ...
- 用浏览器模拟各种User Agent
转至:http://www.cnblogs.com/top5/archive/2012/06/07/2540686.html 测试页面的时候经常需要不同的User Agent,Firefox.Chro ...
- 云时代的分布式数据库:阿里分布式数据库服务DRDS
发表于2015-07-15 21:47| 10943次阅读| 来源<程序员>杂志| 27 条评论| 作者王晶昱 <程序员>杂志数据库DRDS分布式沈询 摘要:伴随着系统性能.成 ...
- GPON和820.1p学习及资料(zt)
1)hw的两个PPT不错,GPON技术基础.ppt和10G-GPON技术基础.ppt, 介绍了GPON的知识背景,标准的名称,帧协议. 尤其是详细对比了10G-PON和G-PON的区别,以及演进的道路 ...
- python基础知识---迭代器、生成器、装饰器
一.迭代器 二.生成器 http://www.cnblogs.com/huxi/archive/2011/07/14/2106863.html def func(): #定义生成器,和普通函数的区别是 ...
- C#算法之判断一个字符串是否是对称字符串
记得曾经一次面试时,面试官给我电脑,让我现场写个算法,判断一个字符串是不是对称字符串.我当时用了几分钟写了一个很简单的代码. 这里说的对称字符串是指字符串的左边和右边字符顺序相反,如"abb ...
- CSS特殊性值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 重走java--Step 3
java基础(三)之枚举用法用法一:常量 public enum Color { RED,GREEN,RED,YELLOW;}用法二:枚举中自定义方法/** * 枚举中自定义方法 */publi ...