须要复习的知识: 关联查询javascript
=================================================================================
班级模块
学生模块
课程模块
爱好模块
用户信息模块java
一个项目最开始要作的是 tbuser的编写,这对应着登陆。web
每个模块,都有list页面,add操做,查看操做,修改操做,删除操做sql
dao层面是数据库链接的层面,须要写的是6的java方法;
biz层面是业务逻辑判断,只须要把dao的结果返回给biz就可;
web层面是各个servlet的编写;数据库
对于每个模块,首先是entity --> dao --> biz -->jsp和servlet的编写jsp
===================================================ui
①每一个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的子元素里面ip
--------------------------------------------------------------------------------------------
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的主键就能够吗?