MyBatis-plus数据库字段排序不准确的解决

 更新时间:2022年02月07日 08:50:37   作者:itfallrain  
这篇文章主要介绍了MyBatis-plus数据库字段排序不准确的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

MyBatis-plus数据库字段排序不准确

今天用mybatis-plus进行开发的时候遇到一个问题,就是用mysql自带的排序进行数据排序的时候,发现排序的数据不准确。

例如:12还没有8,4,2大,这就很郁闷了

在这里插入图片描述

后来在网上查了一下,原来是自己给自己挖的坑,数据库排序字段用的是varcher类型,而排序函数针对的是number类型。

在这里插入图片描述

解决方案

对于mysql和oracle都实用

  • order by 字段+0
  • order by 字段*1

在这里插入图片描述

在这里插入图片描述

因为用的是mybatis-plus,不想写sql怎么办呢?那就用自带的排序函数喽。排序字段直接"+1"就Ok了

	//倒叙
	 queryWrapper.orderByDesc("visit_num+1");

Mybatis-plus遇到的坑

1. 数据库映射枚举

不能是tinyint(1),tinyint(1)默认是boolean类型

2. 自增主键

数据库设置了自增主键后,po类需要增加@TableId(type = IdType.AUTO),或者不要id字段才能生效。

在这里插入图片描述

否则会自动分配id,如下图:

在这里插入图片描述

3. mybatis嵌套查询

子查询中需要查出唯一标识

在这里插入图片描述

4. 用updateWrapper的update做更新操作

更新时间没有更新问题

数据库updateTime设置了 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,仍然不会自动更新时间,需要手动设置当前时间,或者用updateById方法

5. 使用lambaQuery时

参数为空会带入到SQL中(branch_code = null),需要手动过滤,或者在eq中增加条件

在这里插入图片描述

6. Integer判断为空

在这里插入图片描述

7. 基础类型的判断

customerIssueFlag定义的是String类型,值是Y or N

在这里插入图片描述

在这里插入图片描述

8. 事务

在这里插入图片描述

在这里插入图片描述

9. mybatis 配置了多个数据库

除了主数据源对应的mapper.java,都不能加 @Mapper 注解,否则会报找不到

由于使用了mybatis-plus的包,默认自动全包扫描@Mapper注解。mybatis扫描生成的Mapper比其他自定义配置的bean生成对应的Mapper对象块,而自定义的mybatis@MapperScan后扫描,Dao Bean已经生成了,无法再指定数据源进行注入了。

所以如果在 @Configrution注解类中指定了扫描类,就不用再加 @Mapper注解了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Maven依赖中scope的含义

    Maven依赖中scope的含义

    本文主要介绍了Maven依赖中scope的含义,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • SpringCloudStream原理和深入使用小结

    SpringCloudStream原理和深入使用小结

    Spring Cloud Stream是一个用于构建与共享消息传递系统连接的高度可扩展的事件驱动型微服务的框架,本文给大家介绍SpringCloudStream原理和深入使用,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • Java 堆排序实例(大顶堆、小顶堆)

    Java 堆排序实例(大顶堆、小顶堆)

    下面小编就为大家分享一篇Java 堆排序实例(大顶堆、小顶堆),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • 在Eclipse中部署Spring Boot/Spring Cloud应用到阿里云

    在Eclipse中部署Spring Boot/Spring Cloud应用到阿里云

    这篇文章主要介绍了在Eclipse中部署Spring Boot/Spring Cloud应用到阿里云,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Spring BeanFactory和FactoryBean区别解析

    Spring BeanFactory和FactoryBean区别解析

    这篇文章主要介绍了Spring BeanFactory和FactoryBean区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 解析Spring Data JPA的Audit功能之审计数据库变更

    解析Spring Data JPA的Audit功能之审计数据库变更

    Spring Data JPA 提供了Audit审计功能,用来记录创建时间、创建人、修改时间、修改人等,下面来详细讲解下审计数据库变更
    2021-06-06
  • 利用Java生成带有文字的二维码

    利用Java生成带有文字的二维码

    二维码在我们现在的生活中可谓是随处可见,这篇文章主要是介绍如何利用Java生成带有文字的二维码,对大家学习Java具有一定的参考借鉴价值。有需要的朋友们下面来一起看看吧。
    2016-09-09
  • javaSE基础java自定义注解原理分析

    javaSE基础java自定义注解原理分析

    这篇文章主要介绍了javaSE基础对java自定义注解原理分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多度进步,早日升职加薪
    2021-10-10
  • 老生常谈java中的fail-fast机制

    老生常谈java中的fail-fast机制

    下面小编就为大家带来一篇老生常谈java中的fail-fast机制。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • java实现Fibonacci算法实例

    java实现Fibonacci算法实例

    这篇文章主要介绍了java实现Fibonacci算法的方法,以实例形式较为详细的分析了java实现Fibonacci算法的原理与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09

最新评论