[解決済み] JDBCスプリングでBad Sql Grammarの例外が発生する
2022-02-10 22:33:26
質問
私は
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; SQL の文法が正しくありません [select cid, 臨床家コード、パスワード、ファーストネーム、ラストネーム from Clinician where clinician-code= ?]; ネストされた例外は次のとおりです。 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException.MySQLSyntaxErrorException: 不明 カラム 'clinician' が 'フィールドリスト' に含まれています。
以下のコードでエラーが発生しました。スクリーンショットでテーブルを見ることができますが、cidを除いて他の属性はすべてVARCHAR(45)です。
行マッパークラス
public class CClinicianRowMapper implements RowMapper {
@Override
public Object mapRow(ResultSet rs, int line) throws SQLException {
CClinicianResultSetExtractor extractor = new CClinicianResultSetExtractor();
return extractor.extractData(rs);
}
}
結果抽出器クラス public class CClinicianResultSetExtractor implements ResultSetExtractor {.
@Override
public Object extractData(ResultSet rs) throws SQLException {
CClinician clinician = new CClinician();
clinician.setCid(rs.getLong("cid"));
clinician.setClinicianCode(rs.getString("clinician-code"));
clinician.setPassword(rs.getString("password"));
clinician.setFirstName(rs.getString("first-name"));
return clinician;
}
}
テーブルからデータを選択するためのクラス
public List<CClinician> findClinician(CClinician _clinician) {
// TODO Auto-generated method stub
JdbcTemplate select = new JdbcTemplate(dataSource);
try
{
return select.query("select cid, clinician-code, password, first-name, last-name from Clinician where clinician-code= ?",
new Object[] {_clinician.getClinicianCode()}, new CClinicianRowMapper());
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
解決方法は?
列名にダッシュを使用するには、バックティックでエスケープする必要があります。
"SELECT cid, `clinician-code`, password, `first-name`, `last-name`
FROM Clinician
WHERE `clinician-code` = ?"
関連
-
[解決済み】リンクリストの負の値の数でnegativeCntrを代入する
-
[解決済み】Hibernateエラー:同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられました。
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み】エラー。Selection does not contain a main type
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み】HTTPステータス500 サーブレットクラスのインスタンス化エラー [重複]。
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] Spring Bootアプリケーションにポートを設定する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このコンパイルユニットは名前付きモジュールに関連しているため、名前付きパッケージeclipseを宣言する必要があります。
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み] java のクラス内のコンストラクタは、指定された型に適用できない
-
[解決済み】スレッド「main」での例外 java.lang.StringIndexOutOfBoundsException: 文字列のインデックスが範囲外です。0 [閉店]
-
[解決済み】指定された子にはすでに親がいます。先に子の親に対してremoveView()を呼び出す必要がある(Android)
-
[解決済み】Javaでユーザー入力を待機させる方法
-
[解決済み】文字列中の � を置換する方法
-
[解決済み】javaで無効な文字定数
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件