SpringBoot + MyBatis 配置备忘录

本文最后更新于:2 小时前

MyBatis 传中文参数

  1. 在 MySQL 参数里面加上 characterEncoding=UTF-8

    url: jdbc:mysql://qiuqian.xyz:3306/bg?useUnicode=true&characterEncoding=UTF-8
  2. 注释中加入参数image-20210407132926502

  3. 传参加注释 @PathVariable(“name”),这个 name 最好和后面的命名保持一致image-20210407133000989

4.Mapper.xml 中命名保持一致image-20210407133209577

MyBatis 中使用 LIKE 语句

...... like CONCAT('%' #{variable} '%')

image-20210407133319530

Time 只取年-月-日

pom.xml 中加入 fastjson

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.54</version>
</dependency>

image-20210407133500263

在属性前面加注释

@JSONField(format = "yyyy-MM-dd")

取出的内容只包含年-月-日

image-20210407133720954

插入数据同时返回主键id

xml配置

image-20210509234030770

Controller文件编写

image-20210509234127488

注意:这里取出 id 的方式应该是 传入对象插入成功后,调用 getter 方法取出 id ,否则取出的值永远是1,因为如果直接return 对象.id ,返回的值是数据库中受影响的行数。

提取 xml 中 sql 重复代码

使用

<sql id="resultColumns">重复的代码</sql>

后面需再次使用时,直接调用

<include refid="refid"></include>

即可。

null 值 返回为 0 的 bug

在定义数据类型是,必须为包裹类型。如果数据类型为 long, 在数据库中该值为 null 时,将会返回0。如果数据类型为 Long, 将会返回null。

Field userService in xxx required a bean of type ‘xxx’ that could not be found.

image-20211018104941617

原因:Service类中的注解,应该标注在实现类上。标注在接口类上无法使用

image-20211018105124777


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!