溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MyBatis Mapper中的通用example舉例分析

發布時間:2021-12-14 16:22:31 來源:億速云 閱讀:219 作者:iii 欄目:開發技術

本篇內容介紹了“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);
}

“MyBatis Mapper中的通用example舉例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女