文章目录

  • 准备工作
    • 数据库表
    • Qo部分
    • 实体类部分
  • 显示公告的控制器部分(list)
    • 查询公告的业务层方法
  • 点击查看按钮,则将未读设为已读
    • 所对应的控制器
    • 所用到的sql语句
  • 如何新增公告,并在中间表关联所有的用户id
    • 新增控制器部分
    • 所用到的sql语句
  • 每个用户 看到的已读和未读状态的公告都不一样的,只有管理员可以发布及新增公告
  • 效果图

准备工作

数据库表

  • 公告表,公告和员工的中间表,员工表(也就是后台登陆的用户)

Qo部分

  • 配一个默认的当前用户作为属性,用于传入list控制器,每次访问公告,则更新使所有的公告内的当前用户属性为当前访问的用户,便于查询中间表

实体类部分

  • 公告表这边的currentUser属性,用于代表后台的当前用户
  • 为了查中间表用的
  • 是否已读 取决于中间表中的see_read 而不是此实体类的

显示公告的控制器部分(list)

  • 这里主要是query(qo)

查询公告的业务层方法

  • 在分页前,将所有公告表内的当前用户属性设为当前用户的id,便于后续查询中间表
  • 将所有公告表内的当前用户属性设为当前用户的id 的sql语句
  • 查询公告表 显示在页面的 sql语句
  • 这里的where 只需看第一行,其他都是过滤操作 可以不看
  • 这里使用到了连表,公告表的当前用户的id也就是中间表的员工id,公告表的id也就是中间表的公告id,那么就能查出所对应的see_read(是否可读状态)了
  • 中间表三个字段(公告表id,员工id,是否已读)
  • 这里将中间表的see_read 封装进公告表的 see_read里面,即可在页面显示出,当前用户是否已读

点击查看按钮,则将未读设为已读

  • 当前用户是否已读,直接看中间表对应的see_read
  • 所以直接改中间表的see_read值为true即可
  • 这里查看按钮 嵌套了2个值,一个是公告表id,一个是当前用户的id,那么就能求出对应的中间表 并且将see_read(是否已读)的值进行改变了

所对应的控制器

  • 点击查看 将未读改为已读后 就跳转到查看的页面了

所用到的sql语句

如何新增公告,并在中间表关联所有的用户id

  • 因为每个用户看公告的 已读和未读 都是不同的
  • 所以公告新增的时候,需要在中间表关联每一个用户id

  • 新增和编辑为同一个控制器
  • 这里主要看判断notice.getId 为空的业务逻辑(新增的时候)
  • 把数据库所有的用户id 放进集合里面,然后先新增公告,再新增中间表的关系
  • 注意这里必须先新增公告,新增公告完后,此公告对象才有所属的id值
  • 随后进行中间表新增关系的操作(传2个参数,一个是公告表id,一个是用户们的ids集合进去,在中间表则一波增加数据)

新增控制器部分

所用到的sql语句

  • 每次新增都讲see_read(是否已读)值 设为0 ,默认未读状态即可

管理员发送系统公告,每个用户登陆可查看自己的已读和未读状态的公告相关推荐

  1. oralce 数据库监听日志状态及目录:查看监听(使用grid用户登陆):

    数据库监听日志状态及目录:查看监听(使用grid用户登陆): su - grid 密码:grid [grid@db1 ~]$ lsnrctl LSNRCTL> status LSNRCTL> ...

  2. linux查看用户的操作记录,Linux下查看用户登陆后的操作记录

    Linux下查看用户登陆后的操作记录  在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台 服务器多人登陆, ...

  3. Centos查看用户登陆记录

    首先简单介绍一下Centos中记录登陆信息的日志文件. 有关当前登录用户的信息记录在文件utmp中:登录进入和退出纪录在文件wtmp中:最后一次登录文件可以用lastlog命令察看. 数据交换.关机和 ...

  4. Linux下查看用户登陆后的操作记录

    Linux下查看用户登陆后的操作记录 在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台 服务器多人登陆,一 ...

  5. linux用户退出时自动清除last记录,Linux查看用户登陆历史记录(last命令的使用)

    查看某用户 cat /home/username/.bash_history 的操作历史 使用root登陆使用last -x可查看用户登陆历史. last 命令: 功能说明:列出目前与过去登入系统的用 ...

  6. 新建计算机管理员用户,电脑我设置个新的用户 怎么切换不到默认的管理员用户登陆了...

    满意答案 xixi7gb50v3 2013.01.29 采纳率:48%    等级:12 已帮助:5863人 因为你设置了一个新的管理员用户.系统会吧默认的administrator给隐藏起来...若 ...

  7. 查看用户登陆历史记录

    用户登录的信息记录在 utmp(/var/run/utmp).wtmp(/var/log/wtmp).btmp(/var/log/btmp) 和 lastlog(/var/log/lastlog) 等 ...

  8. Slurm限制普通用户登陆计算节点(超算管理员必看)

    转载,原文:https://blog.csdn.net/qq_31910613/article/details/103338758 SLURM提供了通过PAM插件限制普通用户随意登陆计算节点的功能. ...

  9. 系统进程管理及用户登陆监控

    1.图形中如何查看进程gnome-system-monitor2.如何用命令查看进程ps 进程查看工具 -a shell中运行的进程 -x 不在shell重运行的进程 -u 查看进程用户 -l 显示进 ...

最新文章

  1. java.lang.RuntimeException: Unable to start activity ComponentInfo
  2. Head First JSP---随笔八(传统标记)
  3. Linux日志查看head与tail配合查看区间行数的内容
  4. Android之Only fullscreen opaque activities can request orientation
  5. Promise源码解析
  6. 【数据结构与算法】基础数据结构与算法大全
  7. C/C++ OpenCV图像的载入,显示,输出
  8. iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
  9. 安全认证Kerberos
  10. html5 职工入职后台管理系统_【开源】Net平台的后台管理系统
  11. apollocaffe编译问题
  12. React-native设置全局函数globle【适用于有组件嵌套时】
  13. ffmpeg之 一张/多张图片合成视频
  14. 渗透之代理小知识--
  15. 区块链学习笔记19——ETH难度调整
  16. 5、判断、循环、数组综合练习案例(迷你DVD)
  17. 【图像隐写】DWT+DCT+PBFO改进图像水印隐藏提取【含GUI Matlab源码 081期】
  18. 关于接口的基础到进阶你要知道的知识
  19. Scala类和对象详解
  20. 对当前软件行业的一点点感想

热门文章

  1. 《一年顶十年》,阅读和写作的意义
  2. 政务大数据系列7:政务大数据的部署结构
  3. 英语二 - 常用词根五
  4. html5 image 内存溢出,解决内存溢出问题
  5. 梦想cad控件 android,梦想CAD控件 2020.05.25更新(示例代码)
  6. 你,是我以后的伴娘。
  7. python 找出10以内的所有素数
  8. AcWing 378. 骑士放置(最大独立集)
  9. 行缓冲、全缓冲、无缓冲以及用户缓冲区、内核缓冲区介绍
  10. 20岁懂点经济学——读书笔记