zoukankan      html  css  js  c++  java
  • 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的主键就可以吗?

  • 相关阅读:
    谷歌三架马车之 The Google File System 中文版
    数据集市 Data Mart
    VMware虚拟机ubuntu下安装VMware Tools步骤
    NOIP普及组 海港 题解
    HXD的DS
    离散化
    哈希表
    状态压缩DP 初探
    《信息学奥赛一本通》大盗阿福 题解
    NOIP 加工零件 题解
  • 原文地址:https://www.cnblogs.com/never-z123/p/6130667.html
Copyright © 2011-2022 走看看