zoukankan      html  css  js  c++  java
  • 多表操作


    ## 多表操作 (DBUtils框架)##

    # 基本概念
    即数据库中一对多及多对多的表之间的操作;

    # 基本开发步骤;
    >> 添加jar包;
    >> 添加Util工具类;
    >> 添加domain中的基础类;
    |-- customer
    |-- orders
    |-- 添加素材中的表;
    >> 分析问题;
    |-- 类与类之间没有外键关系;
    |-- 那么如何完成表与表之间的关联呢?
    |-- 类与类之间有的关系
    |-- 继承;
    |-- 包含与引用;

    |-- 可以通过一个List集合来包含用户的多个订单;
    |-- 在订单类中加入顾客的对象属性,即可
    确认该订单是哪位顾客下的;
    >> 建立一个Test包;
    >> 建立一个Dao的实现类;
    |-- 在当中添加实现级联的方法;
    |-- 实现关联查询方法;
    |-- 解释;
    当查询客户的时候,连同客户的订单一起查询出来;

    >> 分析问题;
    |-- 希望将查询顾客和顾客订单分离开;

    |-- 解决
    |-- 在方法中设置flag;

    # 多对多关系的维护;
    >> 基本分析;
    |-- 老师的类中添加一个集合用于存放学生的信息;
    |-- 学生的类中添加一个集合用于存放老师的信息;


    ## 分页 ##

    # 基本概念;
    因为数据库中的数据很多,如果一次性全部加入到内存中,
    会导致内存溢出;所以需要将我们指定的内容加载到内存中
    来进行操作;

    # 如何做分页;
    >> 从数据库层面的思考;
    |-- select * from account limit startInde,size;
    startIndex:

    >> 将分页的sql语句发送到服务器上,自然会分页进行处理并返回;

    >> 在内存中进行处理,只加载前10条(该方法并未解决本质问题);

    # 代码的问题;
    >> 新建一个web项目;
    >> 导入jar包,配置文件,Util工具类;
    >> 新建一个分页主键 PageBean.java 并序列化;
    |-- 定义当前页变量;
    |-- 定义当前页显示的数量变量;
    |-- 定义上一页的变量;
    |-- 定义下一页的变量;
    |-- 定义总页数变量;
    |-- 定义总记录数的变量;
    |-- 定义当前页的记录集合;
    |-- 定义当前页第一条记录的索引 --- 用于给limit startIndex 使用;

    >> 问题:
    页面的计算代码需要放在什么地方?
    |-- 放在get方法中,因为EL表达式会默认调用get方法;

    >> 定义DAO层;
    |-- 在实现类中定义获取总记录数的方法;
    |-- 定义查询当前页的总记录数;

    >> 定义业务逻辑层;

    >> 定义Servlet层,实现视图代码;


    ## 监听器 (web三大组件之一)##

    # 基础知识;

    # 自定义监听器;
    >> 定义一个事件;
    >> 定义一个用于存储事件源的对象;
    >> 定义一个学生监听器的接口;
    |-- 定义监听学生学习的方法;
    |-- 定义监听学生吃饭的方法;

    >> 定义一个学生类;

    # 监听器的编写步骤;
    >> 写类,实现相应的Listener接口;
    >> 配置web.xml文件;

    # Servlet中的8个监听器;
    |-- 第一组;
    >> ServletContextListener;
    >> HttpSessionListener;
    >> ServletReuestListener;

    |-- 第二组;
    >> ServletContextAttributeListener;
    >> HttpSessionAttrbuteListener;
    >> ServletRequestAttributeListener;

    |-- 第三组 --- 这两个监听器不用注册;
    >> HttpSessionBindingListener;
    >> HttpSessionActivationListener;


    ## 踢人综合示例(使用监听器实现) ##

    # 开发步骤;
    >> domain包中建立User类
    >> 建立LoginServlet类;
    >> 建立一个监听器类;

  • 相关阅读:
    css3 box-shadow属性 鼠标移动添加阴影效果
    从客户端(txtContent="<p>1</p>")中检测到有潜在危险的 Request.Form 值
    JS 点击按钮后弹出遮罩层,有关闭按钮
    htm5 手机自适应问题 文本框被激活(获取焦点)时,页面会放大至原来尺寸。
    !important 语法
    如何控制table中td内的文本位置
    点击超链接不跳转,不刷新页面
    学以致用三十二-----python中函数的括号使用
    学以致用三十一-----IPAddressField has been removed
    学以致用三十-----pycharm创建django项目忘记添加app
  • 原文地址:https://www.cnblogs.com/bwcx1375/p/7134323.html
Copyright © 2011-2022 走看看