MyBatisは特定のカラム値null,@Paramのみ存在する


特定のカラム値のみnull


mybatisバインドを開始し、ログインロジックを実行しています
mapper.xmlの一部
    <select id="findLoginId" parameterType="map" resultType="git.demo.domain.Member">-->
        select id, userid, pw from member-->
        where userid= #{loginId} and pw= #{loginPw}-->
    </select>-->
db上のクエリ文の実行結果

ideで実行

原因がさっぱりわからない.パッチワークや新聞漏れのように実験を行うと、pw曲線もずっと漏れてしまいます.
面白いのはdbに良い入力があることです.
これは間違いなくMybatisに問題があると思います.

  <resultMap id="memberDTO" type="git.demo.domain.Member">
        <result property="id" column="id"/>
        <result property="userId" column="userid"/>
        <result property="userPw" column="pw"/>
    </resultMap>

    <select id="findLoginId" resultMap="memberDTO">
        select id, userid,pw from member
        where userid= #{loginId} and pw= #{loginPw}
    </select>
マッパー:xmlのコードを変更しました.
これはresultTypeとresultMapの違いから得られた結論である.
正式文書ではresultTypeは、インスタンスタイプのプールパッケージ名を記録してクラスのパスを指定することで自動的にマッピングされます.
resultMapは開発者によって直接POJOクラスにマッピングされるため,無限に利用できる.
これは、自動マッピングと手動マッピングの違いです.

@Param



mybatisでは、2つ以上のデータをパラメータとして渡すためにmapまたは@Paramを使用する必要があります.
これを持たずにマッピングを続行できない場合に挿入した.