Mybatis 의 Criteria 조건 조회 방식
Criterion
Criterion 은 필드 급 선별 에 사용 되 는 가장 기본 적 이 고 밑바닥 의 Where 조건 입 니 다.
Criteria
Criteria 는 하나의 Cretiron 의 집합 을 포함 하고 모든 Criteria 대상 에 포 함 된 Cretiron 사 이 는 AND 로 연결 되 어 논리 적 이 고 관계 적 이다.
기타
Example 클래스 의 distinct 필드 는 DISTINCT 조 회 를 지정 하 는 데 사 용 됩 니 다.
orderby Clause 필드 는 ORDER BY 조건 을 지정 하 는 데 사 용 됩 니 다.이 조건 은 구성 방법 이 없 으 며 전달 문자열 값 을 통 해 직접 지정 합 니 다.
코드 예제
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 */
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);
//
// spring mapper
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 용법 총화한 쌍 의 다 중 내성 적 인 조 회 를 할 때 어떤 오래된 철 은 left join 을 제 기 했 지만 저 와 동료 들 은 코드 로 각종 list 를 쓴 다음 에 stream 을 데이터 베이스 에 저장 하 는 것 이 좋 습 니 다.그러면 계산 압력 을 데이터 베이스 에서 서버 에 저장 하고 병발 량 이 높 으 면 이렇게 하 는 장점 은 성능 에 나타 납 니 다.
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SpringMVC와 Mybatis 집합은 호출 저장 프로세스, 사무 제어 실례를 실현한다SSM 프레임워크에서 호출 데이터베이스의 저장 프로세스와 사무 제어에 자주 사용되는데 다음은 증빙서류를 저장하는 예를 들어 소개한다. 1. Oracle에 저장된 프로세스 코드는 다음과 같습니다(주요 논리는 증빙 서류...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.