ホームページ  >  記事  >  Java  >  mybatis のようなクエリ

mybatis のようなクエリ

(*-*)浩
(*-*)浩転載
2019-11-01 15:48:413558ブラウズ

Mybatis は like クエリを自動的に生成します。mybatis は自動的に % 記号を追加しないため、パラメータに % を自分で追加する必要があります。これは、mybatis がどのクエリを使用するかわからないため、最大限の柔軟性を提供するために mybatis によって決定されます。参加したい。位置に % を追加します。

mybatis のようなクエリ

これ以降、1 つの例から推論を導き出すことができます。このような問題の場合、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 の最終的な結合されたステートメントを出力することができます。 mysql ブレークポイントの接続ポイントに入力できるため、ここから SQL ステートメントを表示して、問題の最終的な原因を分析できます。

mybatis SQL 構築場所:

mybatis のようなクエリ

以上がmybatis のようなクエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。