本篇内容介绍了“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);
接口
List<T> selectByExample(Object example);
实现类
@Override public List<T> selectByExample(Object example) { return baseMapper.selectByExample(example); }
MyBatis通用Mapper技巧
一、排序
错误代码:
example.orderBy(BaseEntity.Field.GMTUpdate + " desc");
正确方式:
通过注解 @OrderBy(value = "DESC")
example.setOrderByClause("GMT_UPDATE DESC");注意此处是列名称,不是属性名。
二、处理oracle的null异常
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-//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举例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!