概述
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); }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持靠谱客。
最后
以上就是专一烤鸡为你收集整理的MyBatis通用Mapper中的通用example(排序)详解的全部内容,希望文章能够帮你解决MyBatis通用Mapper中的通用example(排序)详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复