このエラーは、それが個別に説明されて、より重要なのは、非常に一般的です。
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}')。 </ 挿入>