遇到的bug
- springboot+mybatis,使用PageHelper插件报错
原因:
未在mybatis中配置intercaptor(拦截器)
解决办法:
一、配置文件引入
<!-- 配置分页插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
<property name="dialect" value="mysql"/>
<property name="reasonable" value="true"/>
<property name="supportMethodsArguments" value="true"/>
<property name="params" value="count=countSql"/>
<property name="returnPageInfo" value="check"/>
</plugin>
</plugins>
二、springboot运行类中加入代码:
@Bean
PageHelper pageHelper(){
//分页插件
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("reasonable", "true");
properties.setProperty("supportMethodsArguments", "true");
properties.setProperty("returnPageInfo", "check");
properties.setProperty("params", "count=countSql");
pageHelper.setProperties(properties);
//添加插件
new SqlSessionFactoryBean().setPlugins(new Interceptor[]{pageHelper});
return pageHelper;
}
总结:
springboot相当于一个脚手架,排查bug时,首先要考虑是否是配置文件的错误。
排查流程:
要仔细查看输出的日志
- 首先在网上寻找是否有类似错误
- 从上往下分析,是哪个过程出现了错误
- 在使用的技术的官网上寻找答案
redis非法访问问题
在pom.xml文件中升级mybatis的版本就可解决
Error resolving template template might not exist or might not be accessible
- 方法上没有加responsebody注解
- thymeleaf的路径映射问题:在springboot配置文件中将thymeleaf的prefix前缀,将它匹配到正确路径即可解决。