SpringBoot+Mybatis Plus项目报错整理

1.token为空900报错:首先验证controller是否能传进来,能传进来就不是login的问题.传得进来就是后台问题,多半是数据库有配置有问题.


2.not found类错误,1.没加注解,参数没传进来,2.注解的继承树不对.

3.JDBC Connection [xxxx] will not be managed by Spring
JsqlParserCountOptimize sql=xxxxxxxx    目前来看不算是报错,就是没查到(我写查询,insert造的一堆边界数据,然后那哥们把自己造的数据删了,所以没查到,非常合理,然后我没刷新数据库就以为数据还在)

4.sql语句怎么写?注解形式是过不了代码审核的,sql语句太乱.标准的sql语句不用讲,在xml中<>的双引号里是param注解传入的实体类起的别名,比如@serviceimpl层传入@param("abc") Entity entity,这个参数,那么sql语句中这么写

<if test="abc != null">  操作xxxx </if>

<if test="abc.id != null"> AND id = #{abc.id,jdbcType=BIGINT}</if>

像这样

5.单元测试的时候.

跑不起来这个问题很显然,缺少@,一般是

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

单测出现null的情况,同理先判断哪一层出问题,比如controller层出问题,有可能是没有使用@RequestBody或者@RequestParam()

RequestBody 接收的是请求体里面的数据;而RequestParam接收的是key-value里面的参数

---------------------------------

5更新:现在已经用@mock和@powermock注解了,但是有的时候需要造单测仍需要用上述注解

6.编译不报错,idea报错@Autowried,

解决方案:file->settings -> Editor->Inspections 点击搜索栏 输入Spring Core

Spring Core -> Code -> Autowring for Bean Class中将Severity的级别由之前的error改成warning,idea就不会报错

7.数据库配置问题:

### Cause: java.sql.SQLException: Incorrect string value: '\xE5\xAE\xA3\xE4\

----------数据库没设置utf8,编码格式不对

java.sql.SQLException: Access denied for user 'root'@'localhost' (using pass

---------密码错误,yml文件改密码改数据库名

MySQLNonTransientConnectionException: Could not create connection to database server.

--------调整mysql版本,找自己的mysql版本,和xml文件的对应上.

8.多个import不合并成*

原因:包导来导去早晚有导错包的一天,全是*查都没法查.

操作:file->setting->搜索:code style,进入java,点imports,调整names count 同use static import with *的数量(加俩0就好)

9.org.springframework.beans.factory.UnsatisfiedDependencyException

多种可能,其中一种可能是扫描不到.

10.缓存中读不到数据.原因很多,比如未列入白名单,被拦截,token被删了.

比较冷且快速的解决办法是:

从某个获取缓存的函数中直接返回数据,不采用从缓存访问那一套,git提交的时候这个文件不提就行了.

12.mybatis plus报错object is not a functional interface

首先是wrappers有几种写法,一种是提前new搞好,然后直接selectOne或者selectPage的时候扔进去,或者是selectOne(Wrappers.<RemarkEntity>query().lambda().eq(RemarkEntity::getUserId,userId).eq(RemarkEntity::getOtherId,otherId)),这是正确写法,报错原因:eq里面不能换,必须是数据表的行在前,传进来的参在后.

13.unsupport exception

主要是arrayList用了arrays.asList,这个arrays玩意不属于arrayList这个可变数组,所以出现了remove和add报错的问题.

解决办法:不用asList,用Arrays.stream(String.split(",")).collect(Collectors.tolist());

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值