MyBatis通用Mapper中的通用example(排序)詳解
MyBatis通用Mapper的通用example(排序)
Example example = new Example(TerminalType.class); //注意:排序使用的是列名 example.setOrderByClause("TT_PROVIDERID DESC"); //如果需要其他條件 //掌機(jī)類型名字 //條件查詢使用的是屬性名 example.createCriteria().andEqualTo("terminalName", "計(jì)量現(xiàn)場(chǎng)服務(wù)終端"); //廠商id大于3 // example.createCriteria().andGreaterThan("id",3); List<TerminalType> terminalTypeList = terminalTypeService.selectByExample(example);
接口
/** * 按照指定排序查詢集合 * * @param example - 條件 * @return count */ List<T> selectByExample(Object example);
實(shí)現(xiàn)類
@Override public List<T> selectByExample(Object example) { return baseMapper.selectByExample(example); }
MyBatis通用Mapper技巧
一、排序
錯(cuò)誤代碼:
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的時(shí)候報(bào)錯(cuò)問題--> <setting name="jdbcTypeForNull" value="NULL"/> </settings> </configuration>
三、mapper的selectOne返回值可能是null
獲取的結(jié)果應(yīng)做null判定。
四、看代碼
public interface SequenceMapper { @Select("select SEQ_${tableName}.nextval from dual") int getSequence(@Param("tableName") String tableName); }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在idea中將創(chuàng)建的java web項(xiàng)目部署到Tomcat中的過程圖文詳解
這篇文章主要介紹了在idea中將創(chuàng)建的java web項(xiàng)目部署到Tomcat中的過程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Mybatis-plus插入數(shù)據(jù)遇到主鍵沒有默認(rèn)值的情況
這篇文章主要介紹了Mybatis-plus插入數(shù)據(jù)遇到主鍵沒有默認(rèn)值的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Mybatis輸入輸出映射及動(dòng)態(tài)SQL Review
這篇文章主要介紹了Mybatis輸入輸出映射及動(dòng)態(tài)SQL Review,需要的朋友可以參考下2017-02-02深入了解Java8中的時(shí)區(qū)日期時(shí)間
Java?在?java.time?包中也提供了幾個(gè)類用于處理需要關(guān)注時(shí)區(qū)的日期時(shí)間?API,本文將通過簡(jiǎn)單的示例講講它們的用法,需要的可以參考一下2023-04-04IDEA快速搭建spring?boot項(xiàng)目教程(Spring?initializr)
這篇文章主要介紹了IDEA快速搭建spring?boot項(xiàng)目教程(Spring?initializr),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01SpringCloud Alibaba 基本開發(fā)框架搭建過程
這篇文章主要介紹了SpringCloud Alibaba 基本開發(fā)框架搭建過程,開發(fā)工具選用的idea,本文通過圖文實(shí)例相結(jié)合給大家分享搭建全過程,需要的朋友可以參考下2021-06-06