- 博客(13)
- 收藏
- 关注
原创 PageHelper的使用及避坑
PageHelper是Mybatis-Plus中的一个插件,主要用于实现数据库的分页查询功能。其核心原理是将传入的页码和条数赋值给一个Page对象,并保存到本地线程ThreadLocal中。接下来,PageHelper会进入Mybatis的拦截器环节,在拦截器中获取并处理刚才保存在ThreadLocal中的分页参数。这些分页参数会与原本的SQL语句和内部已经定义好的SQL进行拼接,从而完成带有分页处理的SQL语句的构建。PageHelper有很多中使用方式,下面列出官方给出的几种使用方式。
2024-04-08 14:26:04
1629
原创 Stream流不支持i++或其他增量操作。
在Java中,Stream流不支持i++或其他增量操作,因为Stream流是不可变的,一旦创建了Stream,就不能改变其内容。如果你尝试在Stream操作中使用i++,你就会得到一个编译错误。在这个例子中,我们使用了AtomicInteger,它是一个提供原子操作的Integer类。这个类有一个getAndIncrement方法,它将当前值递增1,并返回递增前的值。
2024-03-21 13:44:13
265
原创 org.apache.ibatis.binding.BindingException
这个错误是由于maven默认加载机制造成的,maven加载的时候,只会把.java类型文件进行编译,如果是其他类型文件,则不会加载。2. 在application.yaml中添加配置。
2023-11-28 16:10:30
78
原创 成功解决node、node-sass和sass-loader版本冲突问题
执行npm install node-sass时再次出现错误:node-sass@4.14.1 postinstall: `node scripts/build.js`。当前node-sass版本(4.7.2)支持nodejs版本为9以下,window64位与32位,而我的电脑是win64,但是我安装的nodejs版本是(14.17.3) ,远远高于当前node-sass支持的版本。卸载当前nodejs,并重新安装版本为9以下的nodejs。从官方文档中找到node与node-sass的版本对应关系。
2023-11-22 18:24:53
1544
原创 MyBatis条件查询,当参数的数据类型为int并且值为0时,会判断为空字符串
MyBatis解析的所有sqlNode节点,针对if节点会交给IfSqlNode来处理,经过层层处理,最终都会调用OgnlOps.class类的doubleValue(Object value)方法。0和""都调用该方法返回的double值都为0.0,再进行比较。如果传入参数为int类型且值为0时,会把0转为空串。
2023-11-07 14:33:55
659
原创 Redis缓存满了怎么办?
综上所述我们了解到,Redis内存淘汰策略和过期回收策略是完全不同的概念,内存淘汰策略是解决Redis运行内存过大的问题的,通过与maxmemory比较,决定要不要淘汰数据,根据maxmemory-policy参数,决定使用何种淘汰策略,在Redis4.0之后已经有8种淘汰策略了,默认的策略是noeviction当内存超出时不淘汰任何键值,只是新增操作会报错。
2023-11-07 09:55:24
73
原创 No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
然后在网上查到问题的解决办法,说是对于高的JDK版本(我用的是JDK11),对于SSL调用权限有限制,需要对JDK中的配置进行修改,可是找了好久,给出的几乎都是jdk1.8的处理,我们用的是jdk11,配置中的路径都不一样,最后通过自己胡乱一通找,终于在jdk11里找到相应的修改配置的地方了。总而言之,都要先找到security文件夹,才能找到相应文件,找到文件之后去除 jdk.tls.disabledAlgorithms 中 SSLv3, TLSv1, TLSv1.1三项协议,然后重启项目就可以啦。
2023-11-06 14:07:20
7218
原创 spring cloud报错 Type javax.xml.bind.JAXBContext not present &Unable to start embedded Tomcat解决办法
如果你的JDK版本超过8,那么恭喜你,这个错误是必然出现的。(本人用的是JDK11 /(ㄒoㄒ)/~~)。原因是因为jaxb-api原本是javaEE的一部分,在JDK9+版本以后,jaxb默认不会加载。
2023-11-06 14:02:59
156
原创 SpringBoot和SpringCloud版本冲突问题
搜索SpringBoot相关全部jar包,将对应2.1.6.RELEASE版本的jar包手动下载到本地,然后放入本地Maven仓库中对应的位置,刷新项目工程,重新加载Maven依赖,终于将SpringBoot2.1.6.RELEASE版本jar包导入工程,项目可正常启动。没办法,又将SpringBoot版本重新改回2.1.6.RELEASE,然后解决Maven下载依赖失败的问题,(我采用的是最笨的方法):到远程Maven仓库。查看SpringBoot和SpringCloud版本兼容性可到。
2023-11-06 13:58:36
257
原创 MyBatis中传入参数parameterType
MyBatis的Mapper文件中的select、insert、update、delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型。MyBatis的传入参数parameterType类型分两种基本数据类型:int、String、long、Date复杂数据类型:类和Map如何获取参数中的值:基本数据类型:#{参数} 获取参数中的值复杂数据类型:#{属性名} map中则是#{key}基本数据类型传参:parameterType="java.lang.String"
2023-11-06 13:54:01
194
原创 引入外部js文件到项目中乱码
BOM是为UTF-16和UTF-32准备的,用于标记字节顺序。微软在UTF-8中使用BOM是因为这样可以把UTF-8和ASCII等编码区分开来,但这样的文件在windows之外的操作系统里会带来问题。UTF-8和带BOM的UTF-8的区别就是有没有BOM。在开发过程中,需要引用一些开源js文件到项目中,之后出现乱码,各方面确认使用编码字符集都是UTF-8,证明不是字符集的问题。最终解决方案:将引入的js文件的字符集编码由UTF-8改为带有BOM的UTF-8格式即可解决乱码问题。
2023-11-06 13:42:04
170
原创 mysql查询的时候默认排序不是主键自增的顺序?
这就需要看删除的1的空间是否能够容纳数据11的插入,如果能够,就会在原来1的空间上插入数据11,如果不能,就另辟新的空间插入11。一直都有一种错觉,认为查询出来的数据如果没有设置排序的话,就是按照id(主键)自增的顺序排列,也就是id的正序排列。但是偶然的一个机会,发现了如果没有加排序的话,出现的不是想象中的自增顺序(逻辑顺序),那是什么顺序呢?由于逻辑顺序和物理顺序并非永远一致,所以我们在查询数据的时候记得带上order by,确保查询出来的顺序跟你想要的顺序一致。答案就是物理存储顺序。
2023-11-06 13:31:04
690
原创 SqlSessionFactoryBean
SqlSessionFactoryBean是mybatis的核心,当与spring进行整合时,我们使用mybatis-spring提供的SqlSessionFactoryBean来创建其实例,SqlSessionFactoryBean实现了FactoryBean接口。从mybatis-spring 1.3.0之后,我们可以移除mybatis-config文件,将所有关于mybatis的配置都通过SqlSessionFactoryBean来指定。不保留mybatis的核心文件。保留mybatis的核心文件。
2023-11-06 13:25:14
191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人