实习总结(一)
故事
2020年11月11日,步入社会(实习)的一个半月,也没什么好写的,白天上班、做毕设,晚上做毕设。基本也就是这样子吧,每天都是一样的过着,每个周会学校一次。这段时间来,写点总结吧。
关于bug
从最近的梳理着来吧。
- 使用mybatis-plus自定义sql时候需要关注是否是逻辑删除,如果是逻辑删除需要自己加入delflag=1的判断,否则查询到的数据会包含已经逻辑删除的数据
- 在使用mybatis-plus分页时候需要,如果是自定义sql,Page参数一定要是第一个,否则会报NPE异常
- 在使用git提交代码,一不小心忘记解决冲突,reset到历史版本,如果是本地写的被无意间弄丢了,选中java文件右键Local history 然后show history可以回滚到之前记录。
- 在git提交时,如果是多人操作,提交时候记得先pull,然后在push
- 在创建表时候需要有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
- 在实体上加入注解,可以进行流式编程,不停set
@Accessors(chain = true)
- 日志管理用:@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
- 开发时候、测试时候、发布时候采用不同的配置文件,用以下进行激活
profiles: active: test,all
- 使用缓存时候可以开启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进行转换
写不下去了,还是进行实践吧,大概就是这样的。开始继续写毕业项目