5月12日周五

计划

执行

10点54分  才忙完户口的事,开始
11点41分  真喜欢浪费时间,你
13点49分  下午,代码一个都别删,用调试
15点30分  看不懂了,加油,感觉是删不了这个setting了

记录

问题想法

  1. 重点读代码,读代码
  2. systemservice的updateDatabase首先就被执行了,不要不行,而这里面就用了settingservice,然,InitSystem也用到 systemService.updateDataBase();
    image

已解决

  1. 真的就是dao层与mapper层的方法一 一对应
  2. 废弃 role字段,但是不删除:mybatis需要修改
  • PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次
  • PostConstruct在构造函数之后执行,init()方法之前执行
    他修饰了initsystem的init()

知识

1. 关于adapter适配器

  • 用户model适配器,将DTO转为Model,将Model转为DTO
  • 避免暴露敏感数据和修改不允许修改得数据

2. 静态代码块

private static final LinkedHashMap<Integer, String> CHANGE_SQL_MAP = Maps.newLinkedHashMap();
    static{}

这段代码定义了一个静态的、不可变的LinkedHashMap对象CHANGE_SQL_MAP,用于存储数据库表中的修改语句。在静态代码块中,使用Maps.newLinkedHashMap()方法初始化该对象,并添加了一些修改语句。

静态代码块是在类被加载时执行的代码块,可以用于初始化静态变量或执行一些初始化操作。在本段代码中,静态代码块的作用是初始化CHANGE_SQL_MAP对象。由于该对象是不可变的,因此只需要在静态代码块中添加修改语句即可,避免了在其他地方修改该对象的风险。

可以通过调用CHANGE_SQL_MAP对象的get()方法获取指定键对应的修改语句,从而避免在代码中硬编码修改语句,提高了代码的可维护性和可读性。

posted @ 2023-05-12 11:30  無碍  阅读(14)  评论(0)    收藏  举报