周记录总结
1.oracle的number(11,2) 指的是总长度为11,小数2位
Oracle对超精度的数字会自动四舍五入,整数位(9位)别超就可以
2.@MapperScan("com.*.mapper") 与 @MapperScan("com.**.mapper")的区别
@MapperScan("com.*.mapper"):一个*代表一级包;例如可以扫描到com.a.mapper ,不能扫描到com.a.b.mapper
@MapperScan("com.**.mapper"):两个*代表任意个包;例如可以扫描到com.a.mapper ,也可扫描到com.a.b.mapper
3.Oracle连接池的配置大小
max-active: 24 --最大连接数,默认值为8
min-idle: 8 --最小空闲连接数(低于该数,会被创建新的连接),默认值为0
initial-size: 12 --初始化连接数(连接池启动时创建),默认值为0
max-idle: 12 --最大空闲连接数(高于该数,会被释放),默认值为8(不常用)
4.mybatis的分页配置
依赖:pagehelper-spring-boot-starter
配置:pagehelper.reasonable=true --当选择页码超过总页码时,会自动获取第一页数据,不会报错。默认值是false
调用:不可将数据先查询后分页
List<TestDTO> list;
PageInfo pageInfo = queryInDTO.getPageInfo();
if (pageInfo != null) {
MybatisHelper.startPage(pageInfo);
list = MybatisHelper.handle(testMapper.query(queryInDTO), pageInfo);
}else{
list = testMapper.query(queryInDTO);
}
5.kafka的auto-offset-reset配置
从项目启动有最新的offset开始进行消费
1.latest【默认】
若有历史消费消息后,新启动一个消费组,此时历史消息不可消费;若消费组消费中途下线后又有新的消费消息进来,此时待该消费组上线后,可消费之前下线时进来的消费消息。
2.earliest
若有历史消费消息后,新启动一个消费组,此时历史信息从头开始消费;若消费组消费中途下线后又有新的消费信息进来(一旦消费过),此时待该消费组上线后,可消费之前下线时进来的消费信息
3.none【用不到】
若topic没有历史消息,或者不需要处理历史消息,则按照默认latest即可。
6.编写sql时,直接用表名,不可使用用户名.表名
7.创建同义词时,是不同的数据来源[不同用户]访问同一个表[已知用户B的testB表,需要让A用户也可查询该表testB,并创建同义词test]
①登录当前用户B,给A用户赋创建同义词权限
GRANT CREATE synonym to A;
②登录当前用户B,授权查询表testB给A用户
GRANT SELECT ON testB TO A;
③登录用户A,创建同义词
CREATE OR REPLACE synonym test for B.testB;
赋予权限
GRANT SELECT,INSERT on tableA to userA;
撤销权限
REVOKE PRIVILEGES on tablesA from userA;
8.调用三方接口,从注册中心找不到数据
@FeignClient(value = "CCB-SERVICE-QUERY", url = "http://localhost:8082", configuration = {CommonFeignConfig.class, LoggingFeignConfig.class})
9.获取两个list的交集
List<String> todayKeyList = new ArrayList<>(); List<String> lastDayKeyList = new ArrayList<>(); List<String> intersList = (List<String>) CollectionUtils.intersection(todayKeyList, lastDayKeyList);
10.判断是否为空
if(StringUtils.isNotEmpty(userId)){} //字符串是否为空 if(CollectionUtils.isNotEmpty(intersList)){} //list是否为空
11.临时表分为事务级和会话级
CREATE GLOBAL TEMPORARY TABLE TEMP1 (
id varchar2 (64) NOT NULL,
para_0 varchar2 (512)
) ON COMMIT DELETE rows; -- 事务级别
CREATE GLOBAL TEMPORARY TABLE TEMP2 (
id varchar2 (64) NOT NULL,
para_0 varchar2 (512)
) ON COMMIT PRESERVE rows; -- 会话级别