8月30

注意事项
由于Pageable参数支持排序功能,如果在sql语句中同时使用了ORDER进行排序,就会产生冲突。
所以只能二选一。

resultType:

1、基本类型 :resultType=基本类型

2、List类型: resultType=List中元素的类型

3、Map类型 resultType =map

mybatis中使用Integer类型的参数为空判断

1
2
3
4
<if test="staging != null and staging != ''">
staging = #{staging},
</if>
123

1.String类型是符合的,但是如果是Integer类型的话,如果变量的值是0,即 staging= 0, mybatis在进行 staging!= ‘’ 的时候会认为 staging的值是空字符串, 即 staging == ‘’ 为true。

所以如果是Integer类型只需要判断 != null 即可

2.如果String类型需要判断不等于0,则需要写name != ‘0’.toString(),否则会报错。

https://blog.csdn.net/han1196639488/article/details/76649142

1
List<String> findListByType(@Param("type")Integer type, @Param("cnt") Integer cnt);

基于注解,可以不用写paramType

The specified user settings file does not exist: /home/dev/.m2/settings.xml


redis

map也可以实现缓存?

Session 是存放在服务器端(保存在单个JVM中),返回SessionId(响应头),客户端存放的SessionId,下次请求时候,直接使用对于的SessionId从服务器端查询对应Session

分布式Session (Session共享的问题)—-直接使用token解决

实现单个JVM缓存框架, Session Key Value 可以用Map集合实现 过期时间需要好好设计了

废话不多说,写一个给予Map集合实现Jvm缓存框架

  1. public ConcurrentHashMap<K, V> concurrentHashMap = new ConcurrentHashMap<K,V>();
  2. ​ //纯手写单个JVM缓存框架 缓存概念偏向于临时

有效期设计:再开一个定时Job 每隔1S 去检查下 有过期的没 然后执行删除操作