1. SpringBoot使用MyBatis-plus,启动类无法启动,报错Mapper没有未注入

mybatis依赖正常

  1. <groupId>org.mybatis.spring.boot</groupId>
  2. <artifactId>mybatis-spring-boot-starter</artifactId>
  3. <version>1.1.1</version>

导入苞米豆依赖错误,原因暂时未知
在线教育使用此依赖也正常,可能有些细节

  1. <groupId>com.baomidou</groupId>
  2. <artifactId>mybatis-plus</artifactId>
  3. <version>3.3.2</version>

导入SpringBoot的MP依赖正常

  1. 启动类要加@MapperScan(“mapper文件所在包全名”)
  2. 如果mapper.xml在resource目录下,则yml需要配置加载此目录,因为默认是不打包的
  3. 如果mapper.xml在java的某包下,要配置maven,可自行百度

    2.传值在mapper层发生改变

    mapper中使用了if,语句中,误把“==”写成了“=”,导致在mapper.xml中发生了赋值

3. 模糊查询的三种方式

concat(‘%’, #{authorName}, ‘%’)
“%” #{authorName} “%”
使用$的方式

4. 转换小数位

CAST(koubei as DECIMAL(18,2)) koubei, 18,2分别表示,取精度,取位数

5. to_char转换类型

在mybatis结合postgreSQL的场景下,接口连续查询,在查询6次左右,出现部分字段为null的问题。debug查看映射的bean,发现部分字段显示为null。它们都是int类型的。

问题场景举例:

  1. nacos修改支持pgsql,查看配置列表时多次刷新后不显示数据。
  2. 智慧搜索平台中用户登录时获取int8类型的id,int4类型的dept_id,int2类型的state。

解决方法:

  1. 目前使用tochar(字段名)的方式,使查询出来的结果转为string类型。

原理:
可能与mybatis源码有关,主要在结果集对象中的方法。
有博客出现mybatis存在同一字段有时查出来是integer、有时是Long的问题。