>  기사  >  Java  >  mybatis와 같은 쿼리

mybatis와 같은 쿼리

(*-*)浩
(*-*)浩앞으로
2019-11-01 15:48:413433검색

mybatis가 자동으로 생성한 like 쿼리에서는 매개변수에 %를 직접 추가해야 합니다. 왜냐하면 mybatis는 % 기호를 자동으로 추가하지 않기 때문입니다. 이는 mybatis가 내가 추가하려는 위치를 모르기 때문에 최대한의 유연성을 제공하기 위해 결정됩니다. %.

mybatis와 같은 쿼리

이제부터 우리는 하나의 예에서 추론을 이끌어낼 수 있습니다. 이와 같은 문제의 경우 mybatis는 추가할 위치를 모르기 때문에 우리가 기대하는 기호를 자동으로 추가하지 않으며 이 추가는 불필요해집니다. .

    public PageInfo<StationCardPreBo> findStationCardPres(
            StationCardPreQueryBo stationCardPreQueryBo, PageBo pageBo) {
        StationCardPreQuery query = new StationCardPreQuery();
        Criteria criteria = query.createCriteria();
        if (stationCardPreQueryBo.getId() != null) {
            criteria.andIdEqualTo(stationCardPreQueryBo.getId());
        }
        if (stationCardPreQueryBo.getStationNo() != null) {
            criteria.andStationNoLike("%" + stationCardPreQueryBo.getStationNo() + "%");
        }
        if (stationCardPreQueryBo.getCardNo() != null) {
            criteria.andCardNoLike("%" + stationCardPreQueryBo.getCardNo()+ "%");
        }

        // 设置分页参数
        PageHelper.startPage(pageBo.getPageNum(), pageBo.getPageSize());
        List<StationCardPre> list = stationCardPreMapper.selectByExample(query);

        PageInfo<StationCardPre> tempPageInfo = new PageInfo<>(list);

        PageInfo<StationCardPreBo> resultPage = new PageInfo<StationCardPreBo>();
        BeanMapper.copy(tempPageInfo, resultPage);

        if (CollectionUtils.isNotEmpty(list)) {
            resultPage
                    .setList(BeanMapper.mapList(list, StationCardPreBo.class));
        }

        return resultPage;
    }

한발 물러서서, mybatis가 우리를 위해 스플라이스한 최종 sql 문이 무엇인지 모른다면 mysql의 마지막 스플라이스 문을 인쇄하거나 다음에 중단점을 넣을 수 있습니다. 여기에서 SQL 문을 보고 문제의 최종 원인을 분석할 수 있습니다.

mybatis sql 구축 위치:

mybatis와 같은 쿼리

위 내용은 mybatis와 같은 쿼리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제