day09 工作日报表

日期    30日07月2024年

 任务安排
    今天主要就是讲了security类工作的原理,然后就是让我们自己做项目

工作中的问题
    今天做项目的时候发现有时候用postman测试返回20001,说错误见控制台,但是控制台一片祥和,于是就尝试用try-catch来将捕获的错误打印到控制台,才终于见到错误了;还有一个就是发现涉及到select的参数是字符串时候,也就是使用like的时候,必须要用CONCAT来连接两个百分号,不能直接在字符串中写#{参数};还有注意jdbcType中写的有时候不是直接是数据库中类型,要注意

总结与思考 
   总结一下今天的内容就是security就是一组Filter,先进行用户名密码的处理,具体就是先将用户名密码封装成一个对象,然后层层调函数处理,到UserDetailsService层的时候,才最终实现用loadUserByUsername的方法在数据库中查找,如果查到了,就讲包含权限的用户信息封装成一个UserDetails对象,返回并存储到authentication对象中,并最终保存到security上下文中,以便后续的使用;再进行各种异常的抛出;最后进行权限的判断,这时候就用到了之前存储的authentication对象了,如果有权限(通常是用户名密码正确,且并非恶意),就返回一个token,下一次客户端浏览器访问的时候,需要拿着这个token来访问,如果确定非空,且权限正确就予以访问,这就需要在UsernamePasswordAuthenticationFilter前面加一个Filter来过滤了,如果确认了token信息,那就直接跳过查询保存authentication对象的过程,反之就接着一步一步走

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要在MySQL中创建一个包含日期和时间的表格,如下所示: ``` CREATE TABLE work_schedule ( date DATE NOT NULL, start_time TIME NOT NULL, end_time TIME NOT NULL ); ``` 接下来,你需要插入你的日历和工作时间数据到该表格中,例如: ``` INSERT INTO work_schedule (date, start_time, end_time) VALUES ('2023-01-01', '09:00:00', '18:00:00'), -- 元旦节,休息 ('2023-01-02', '09:00:00', '18:00:00'), -- 元旦节,休息 ('2023-01-03', '09:00:00', '18:00:00'), -- 元旦节,休息 ('2023-01-04', '09:00:00', '18:00:00'), -- 工作日,正常上班 ('2023-01-05', '09:00:00', '18:00:00'), -- 工作日,正常上班 ... ``` 然后,你可以使用MySQL的日期函数来识别工作日、周末和法定节假日。例如,使用WEEKDAY()函数来判断日期是否为周末,使用YEAR()和MONTH()函数来判断日期是否为法定节假日。 下面是一个示例查询,它将返回2023年每天的工作时间,包括工作日、周末和法定节假日的工作时间: ``` SELECT date, CASE WHEN WEEKDAY(date) IN (5, 6) THEN '周末' WHEN date IN ('2023-01-01', '2023-01-02', '2023-01-03', '2023-04-04', '2023-05-01', '2023-06-14', '2023-09-21', '2023-10-01', '2023-10-02', '2023-10-03', '2023-10-04', '2023-10-05', '2023-10-06', '2023-10-07') THEN '节假日' ELSE '工作日' END AS day_type, SEC_TO_TIME(TIMESTAMPDIFF(SECOND, start_time, end_time)) AS work_time FROM work_schedule WHERE date BETWEEN '2023-01-01' AND '2023-12-31' ORDER BY date; ``` 该查询将输出一个报表,其中包含每天的日期、工作日类型和工作时间(以秒为单位)。你可以根据需要自定义日期和节假日列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值