欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2023-01-10 11:51:57|栏目:JAVA代码|点击:

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);
}

上一篇:在Spring 中使用@Aspect 控制自定义注解的操作

栏    目:JAVA代码

下一篇:Nacos注册中心的部署与用法示例详解

本文标题:MyBatis通用Mapper中的通用example(排序)详解

本文地址:http://www.codeinn.net/misctech/223364.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有