ときMyBatisの運転データ:java.sql.SQLSyntaxErrorException:「フィールドリスト」で不明なコラム「XXX」

このエラーは、それが個別に説明されて、より重要なのは、非常に一般的です。

 MyBatisの出现:不明コラム「XXX」の「フィールドリスト」

内部手続きを初めて目:

dao.addUser( "ll111"、 "LL11"); // 追加のユーザーL主機能試験
// ユーザーの成功1つの失敗0追加
    公共 int型のアドユーザー(文字列userPhoneNumber、userPassword属性の文字列)がスローにIOException {
         // ユーザの電話番号、名前(デフォルトの電話番号)、パスワード、 
        ユーザーのユーザー= 新しい新しいユーザー(userPhoneNumber、userPhoneNumber、userPassword属性を);
         int型 =結果; mapper.addUser(ユーザー)

        のSystem.out.println(結果); 

        sqlSession.commit(); 
        戻り値の結果を、
    }
<! -     添加用户- > 
    < インサートID = "アドユーザー" のParameterType = "main.pojo.User" > 
        INSERT INTOユーザ(USER_PHONE_NUMBER、USER_NAME、USER_PASSWORD)
        VALUES($ {userPhoneNumber}、{$のuserName}、「$ {ユーザーのパスワード}'); 
    </ 挿入>

 

 

 エラーの原因:自体に、3つのフィールドはString型であるが、エラーが原因の用途に、結果は、あなたが文字列として挿入したい元の名前と電話番号であるMyBatisの使用で結果のマップ、上に表示されますが、実際にXMLとしてフィールド名。それは大丈夫整数の場合、文字列は、文字列と整数に分割することができるが、英数字およびコンパイラとして識別することはできません。

本質的には、精通していないMyBatisのを使用し、その実施期間のメカニズムを理解することは間違っています。同じ問題は、他の文で発生実現でのデータ伝送のタイプに注意を払うよう!

ソリューション:また、図に示されているなどのXMLコード、パスワードの変数は単一引用符を生きて、文字列として表現することができるので、実際には、それを読んでください。:

<! -     添加用户- > 
    < インサートID = "アドユーザー" のParameterType = "main.pojo.User" > 
        INSERT INTOユーザ(USER_PHONE_NUMBER、USER_NAME、USER_PASSWORD)
        VALUES( '$ {userPhoneNumber}'、「$ {userNameに} 」、 '$ {にuserPassword}')。
    </ 挿入>

 

 

おすすめ

転載: www.cnblogs.com/Comet-Fei/p/11946206.html
おすすめ