MyBatis通用Mapper中的通用example(排序)详解

 更新时间:2021年12月14日 14:29:34   作者:yang_1996  
这篇文章主要介绍了MyBatis通用Mapper中的通用example(排序)详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

MyBatis通用Mapper的通用example(排序)

Example example = new Example(TerminalType.class);
//注意:排序使用的是列名
example.setOrderByClause("TT_PROVIDERID DESC");
//如果需要其他条件
//掌机类型名字
//条件查询使用的是属性名
example.createCriteria().andEqualTo("terminalName", "计量现场服务终端");
//厂商id大于3
// example.createCriteria().andGreaterThan("id",3);
List<TerminalType> terminalTypeList = terminalTypeService.selectByExample(example);

接口

/**
     * 按照指定排序查询集合
     *
     * @param example - 条件
     * @return count
     */
    List<T> selectByExample(Object example);

实现类

 @Override
    public List<T> selectByExample(Object example) {
        return baseMapper.selectByExample(example);
    }

MyBatis通用Mapper技巧

一、排序

错误代码:

example.orderBy(BaseEntity.Field.GMTUpdate + " desc");

正确方式:

1、通过注解 @OrderBy(value = "DESC")

2、example.setOrderByClause("GMT_UPDATE DESC");注意此处是列名称,不是属性名。

二、处理oracle的null异常

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="cacheEnabled" value="false"/>
<!--解决插入null的时候报错问题-->
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
</configuration>

三、mapper的selectOne返回值可能是null

获取的结果应做null判定。

四、看代码

public interface SequenceMapper
{
@Select("select SEQ_${tableName}.nextval from dual")
int getSequence(@Param("tableName") String tableName);
}

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

相关文章

  • SpringMVC @NotNull校验不生效的解决方案

    SpringMVC @NotNull校验不生效的解决方案

    这篇文章主要介绍了SpringMVC @NotNull校验不生效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • SpringBoot+MyBatisPlus对Map中Date格式转换处理的方法详解

    SpringBoot+MyBatisPlus对Map中Date格式转换处理的方法详解

    在 SpringBoot 项目中, 如何统一 JSON 格式化中的日期格式。本文将为大家介绍一种方法:利用MyBatisPlus实现对Map中Date格式转换处理,需要的可以参考一下
    2022-10-10
  • SpringBoot中@Autowired 失效及@Autowired 注入为null的解决

    SpringBoot中@Autowired 失效及@Autowired 注入为null的解决

    在SpringBoot项目中,@Autowired注解用于自动注入依赖,但有时会注入失败导致空指针异常,下面就来介绍一下如何解决,感兴趣的可以了解一下
    2024-09-09
  • Java实现集合和Excel文件相互转换

    Java实现集合和Excel文件相互转换

    本文主要介绍了使用Java和ApachePOI库将集合转化为包含合并单元格的Excel文件,及从Excel文件流中读取并转化为集合,具有一定的参考价值,感兴趣的可以了解一下
    2025-08-08
  • java中DateUtils时间工具类详解

    java中DateUtils时间工具类详解

    这篇文章主要为大家详细介绍了java中DateUtils时间工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • 基于Java字符编码的使用详解

    基于Java字符编码的使用详解

    本篇文章对Java字符编码的使用进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • Java 循环队列/环形队列的实现流程

    Java 循环队列/环形队列的实现流程

    循环队列又叫环形队列,是一种特殊的队列。循环队列解决了队列出队时需要将所有数据前移一位的问题。本文将带大家详细了解循环队列如何实现,需要的朋友可以参考一下
    2022-02-02
  • Java通过底层原码了解数组拷贝

    Java通过底层原码了解数组拷贝

    一般说起数组的拷贝,首先想到的就是用循环对数组进行拷贝。但其实JAVA为我们提供了一些拷贝数组比较方便的方法,有完全拷贝的方法,也有部分拷贝的方法。接下来就一一介绍这些方法
    2022-07-07
  • 简单了解spring cloud 网关服务

    简单了解spring cloud 网关服务

    这篇文章主要介绍了简单了解spring cloud 网关服务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 详解Java如何利用位操作符创建位掩码

    详解Java如何利用位操作符创建位掩码

    在本文中,我们来看看如何使用位操作符实现低级别的位掩码。我们将看到我们如何将一个单一的int变量作为一个单独的数据容器,感兴趣的可以跟随小编一起学习一下
    2022-10-10

最新评论