java.sql.SQLException:executeQuery()でデータ操作ステートメントを発行できません



Java Sql Sqlexception



エラーメッセージの最初の部分のみがここに投稿されます

java.sql.SQLException: Can not issue data manipulation statements with executeQuery(). at com.mysql.jdbc.Statement.checkForDml(Statement.java:302) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1148) at com.lmm.loginDao.UserDao.addUser(UserDao.java:54) at com.lmm.test.UserDaoTest.testAddUser(UserDaoTest.java:22) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)

JUnit5を使用してユーザー単体テストを追加すると、このエラーが発生しました。解決した後、解決策を記録してください



このエラーの理由は、挿入、削除、更新操作を実行するときに使用されたためですexcecuteQuery() excecuteUpdate()メソッドの代わりにメソッド
オンライン要約によると:
executeQuery()ステートメントは、selectステートメントなどの単一の結果セットを生成するために使用されます。
どのような状況でexecuteQuery()を使用するか、データベースにデータが保存されている場合は、クエリを実行する必要があります。
executeUpdate():挿入、更新、または削除ステートメントを実行するために使用されます。戻り値は、影響を受ける行の数、つまり更新された値を示します。
execute()はステートメントを実行し、結果セットがあるかどうかを返します。