欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis中的Criteria條件查詢(xún)方式

 更新時(shí)間:2021年07月22日 08:52:09   作者:wunianisme  
這篇文章主要介紹了Mybatis中的Criteria條件查詢(xún)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Mybatis Criteria條件查詢(xún)

Criterion

Criterion是最基本,最底層的Where條件,用于字段級(jí)的篩選。

Criteria

Criteria包含一個(gè)Cretiron的集合,每一個(gè)Criteria對(duì)象內(nèi)包含的Cretiron之間是由AND連接的,是邏輯與的關(guān)系。

其它

Example類(lèi)的distinct字段用于指定DISTINCT查詢(xún)。

orderByClause字段用于指定ORDER BY條件,這個(gè)條件沒(méi)有構(gòu)造方法,直接通過(guò)傳遞字符串值指定。

代碼示例

import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
 
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.log4j.pattern.ClassNamePatternConverter;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
import cn.itcast.ssm.mapper.ItemsMapper;
import cn.itcast.ssm.po.ItemsExample; 
public class Student { 
    public static void main(String[] args) throws IOException {
        /*方式一  */
        ItemsExample itemsExample1 = new ItemsExample();
        itemsExample1.or().andIdEqualTo(5).andNameIsNotNull();
        itemsExample1.or().andPicEqualTo("xxx").andPicIsNull();
 
        List<Integer> fieldValues = new ArrayList<Integer>();
        fieldValues.add(8);
        fieldValues.add(11);
        fieldValues.add(14);
        fieldValues.add(22);
        itemsExample1.or().andIdIn(fieldValues);
        itemsExample1.or().andIdBetween(5, 9);
 
        /*  方式二 criteria1與criteria2是or的關(guān)系 */
        ItemsExample itemsExample2 = new ItemsExample();
        ItemsExample.Criteria criteria1 = itemsExample2.createCriteria();
        criteria1.andIdIsNull();
        criteria1.andPriceEqualTo((float) 3);
 
        ItemsExample.Criteria criteria2 = itemsExample2.createCriteria();
        criteria2.andNameIsNull();
        criteria2.andIdGreaterThanOrEqualTo(5);
        itemsExample2.or(criteria2);
 
        //方式一和方式二是等價(jià)的 
        // spring獲取mapper代理對(duì)象
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        ItemsMapper itemsMapper = (ItemsMapper) applicationContext.getBean("itemsMapper");
        itemsMapper.countByExample(itemsExample2);
 
        // 獲取SqlSessionFactory
        String resource = "SqlMapConfig.xml";
        Reader reader = Resources.getResourceAsReader(resource);
        SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
        // 獲取SqlSession
        SqlSession sqlSession = sqlMapper.openSession();
    }
}

Mybatis的Criteria用法總結(jié)

在這里插入圖片描述

用一對(duì)多內(nèi)斂查詢(xún)的時(shí)候,有的老鐵提出left join in 但是我和同事商討結(jié)果是用代碼寫(xiě)處各種list然后stream存到數(shù)據(jù)庫(kù)中,這樣一來(lái)把計(jì)算壓力從數(shù)據(jù)庫(kù)存入服務(wù)器,當(dāng)并發(fā)量高了,這樣做的好處就體現(xiàn)在性能方面了。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot 在啟動(dòng)時(shí)進(jìn)行配置文件加解密的方法詳解

    Spring Boot 在啟動(dòng)時(shí)進(jìn)行配置文件加解密的方法詳解

    這篇文章主要介紹了Spring Boot 在啟動(dòng)時(shí)進(jìn)行配置文件加解密的方法,本文通過(guò)實(shí)例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • java如何判斷一個(gè)對(duì)象是否為空對(duì)象

    java如何判斷一個(gè)對(duì)象是否為空對(duì)象

    本文主要介紹了java如何判斷一個(gè)對(duì)象是否為空對(duì)象,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java源碼解析CopyOnWriteArrayList的講解

    Java源碼解析CopyOnWriteArrayList的講解

    今天小編就為大家分享一篇關(guān)于Java源碼解析CopyOnWriteArrayList的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Java?詳細(xì)講解線(xiàn)程的狀態(tài)及部分常用方法

    Java?詳細(xì)講解線(xiàn)程的狀態(tài)及部分常用方法

    在Java程序中,一個(gè)線(xiàn)程對(duì)象只能調(diào)用一次start()方法啟動(dòng)新線(xiàn)程,并在新線(xiàn)程中執(zhí)行run()方法。一旦run()方法執(zhí)行完畢,線(xiàn)程就結(jié)束了,本篇來(lái)講解Java線(xiàn)程的狀態(tài)以及部分常用方法
    2022-04-04
  • 簡(jiǎn)述Mybatis增刪改查實(shí)例代碼

    簡(jiǎn)述Mybatis增刪改查實(shí)例代碼

    本文給大家分享編寫(xiě)一個(gè)簡(jiǎn)單的mybatis進(jìn)行插入數(shù)據(jù)的實(shí)例代碼,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-10-10
  • java開(kāi)發(fā)_圖片截取工具實(shí)現(xiàn)原理

    java開(kāi)發(fā)_圖片截取工具實(shí)現(xiàn)原理

    本文將詳細(xì)介紹java開(kāi)發(fā)_圖片截取工具實(shí)現(xiàn)原理,需要了解的朋友可以參考下
    2012-11-11
  • Java架構(gòu)師的5大基本能力你知道嗎

    Java架構(gòu)師的5大基本能力你知道嗎

    這篇文章主要為大家介紹了Java架構(gòu)師的基本能力,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助<BR>
    2022-01-01
  • Java設(shè)計(jì)模式之單例模式

    Java設(shè)計(jì)模式之單例模式

    這篇文章主要給大家介紹了關(guān)于Java單例模式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • 如何安裝java的運(yùn)行環(huán)境IDEA

    如何安裝java的運(yùn)行環(huán)境IDEA

    這篇文章主要介紹了如何安裝java的運(yùn)行環(huán)境IDEA,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java避免UTF-8的csv文件打開(kāi)中文出現(xiàn)亂碼的方法

    Java避免UTF-8的csv文件打開(kāi)中文出現(xiàn)亂碼的方法

    這篇文章主要介紹了Java避免UTF-8的csv文件打開(kāi)中文出現(xiàn)亂碼的方法,結(jié)合實(shí)例形式分析了java操作csv文件時(shí)使用utf-16le編碼與utf8編碼相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07

最新評(píng)論