sirwsl的博客

实习总结(一)

故事

2020年11月11日,步入社会(实习)的一个半月,也没什么好写的,白天上班、做毕设,晚上做毕设。基本也就是这样子吧,每天都是一样的过着,每个周会学校一次。这段时间来,写点总结吧。

关于bug

从最近的梳理着来吧。

  1. 使用mybatis-plus自定义sql时候需要关注是否是逻辑删除,如果是逻辑删除需要自己加入delflag=1的判断,否则查询到的数据会包含已经逻辑删除的数据
  2. 在使用mybatis-plus分页时候需要,如果是自定义sql,Page参数一定要是第一个,否则会报NPE异常
  3. 在使用git提交代码,一不小心忘记解决冲突,reset到历史版本,如果是本地写的被无意间弄丢了,选中java文件右键Local history 然后show history可以回滚到之前记录。
  4. 在git提交时,如果是多人操作,提交时候记得先pull,然后在push
  5. 在创建表时候需要有creatTime与UpteTime,同时在实体中加入
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
        @TableField(fill = FieldFill.INSERT_UPDATE)
        @TableField(fill = FieldFill.INSERT)
    

在使用数据库对应时间段时,domain中尽量用LocalDate与LocalDateTime

  1. 在实体上加入注解,可以进行流式编程,不停set
@Accessors(chain = true)
  1. 日志管理用:@Slf4j
    <!--lo4j日志管理-->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
                <scope>compile</scope>
            </dependency>
    
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.7.21</version>
            </dependency>
    

配置properties

#所有日志
log4j.rootLogger = DEBUG,stdout,file

log4j.logger.org.apache.ibatis=warn
log4j.logger.java.sql=warn
log4j.logger.org.springframework=warn

# Druid
log4j.logger.druid.sql=DEBUG
log4j.logger.druid.sql.DataSource=warn
log4j.logger.druid.sql.Connection=warn
log4j.logger.druid.sql.Statement=DEBUG
log4j.logger.druid.sql.ResultSet=warn
#设置包名的输出级别
#log4j.logger.cn.wdq=DEBUG,wdq

#控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.Threshold=DEBUG,trace
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}[ %p ]%m%n

#所有文件输出
log4j.appender.file = org.apache.log4j.FileAppender
log4j.appender.file.File = /usr/local/var/logs/allDEBUG.log
log4j.appender.file.Encoding=UTF-8
log4j.appender.file.name = fileLogDemo
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}[ %p ]%m%n
log4j.appender.file.append = true

#wdq下所有包的文件输出
#log4j.appender.wdq = org.apache.log4j.FileAppender
#log4j.appender.wdq.File = /usr/local/var/logs/package_wdq.log
#log4j.appender.wdq.Encoding=UTF-8
#log4j.appender.wdq.name = fileLogDemo
#log4j.appender.wdq.Threshold=DEBUG
#log4j.appender.wdq.layout=org.apache.log4j.PatternLayout
#log4j.appender.wdq.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}[ %p ]%m%n
#log4j.appender.wdq.append = true
  1. 开发时候、测试时候、发布时候采用不同的配置文件,用以下进行激活
    profiles:
        active: test,all
    
  2. 使用缓存时候可以开启JetCache注解
jetcache:
  statIntervalMinutes: 1 #统计间隔
  areaInCacheName: false
  local:
    default: #默认area
      type: caffeine
      keyConvertor: fastjson
      limit: 10000              #本地缓存最大个数
      defaultExpireInMillis: 10000   #缓存的时间全局 默认值
  remote:
    default:
      type: redis.lettuce #使用lettuce
      keyConvertor: fastjson
      valueEncoder: java
      valueDecoder: java
      poolConfig:
        minIdle: 1
        maxIdle: 50
        maxTotal: 1000
        maxWait: 1000
      uri:
        - redis://sirwsl@localhost:6379/0  #redis://密码@IP:端口/库

启动类注入

@EnableCreateCacheAnnotation
@EnableTransactionManagement

10、结果放回采用Result统一封装,异常处理最好也自己封装一遍

11、在写代码之前先看一下文档怎么写,没得文档就先梳理思路

12、在进行VO、BO、DO转化时候可以用MapStruct进行转换

写不下去了,还是进行实践吧,大概就是这样的。开始继续写毕业项目


标题:实习总结(一)
作者:sirwsl
地址:https://www.wslhome.top/articles/2020/11/11/1605099731938.html