ウェブアプリケーションの勉強を始めた初心者です。
社員の情報を登録、検索ができるページを作成しています。
社員登録画面でDaoのinsertShainDataメソッドを実行するようにしているのですが、リレーション"employee_information_table"は存在しません"というエラーが表示されます。
テーブル名の綴りミスかと思い、コマンドを叩いて確認したのですが、employee_information_tableというリレーションは存在しているので頭を悩ましております。
補足ですが、当初はデータベースをmySQLで作成しておりその際は問題なく登録出来ておりました。
しかしpostgrSQLに替えて実行するとエラーが発生しました。
ここに問題があるのだとは思うのですが、原因の特定ができませんでした。
どうかご教示いただけますでしょうか。何卒よろしくお願いいたします。
Eclipseのエラーログ
org.postgresql.util.PSQLException: ERROR: リレーション"employee_information_table"は存在しません
ポジション: 13
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2433)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2178)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:306)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:155)
at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:132)
at shain.ShainDataDao.insertShainData(ShainDataDao.java:55)
at shain.InsertExecutionServlet.doGet(InsertExecutionServlet.java:54)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
lang
1postgres=# select * from employee_information_table; 2 employee_number | employee_lastname | employee_firstname | employee_firstname_yomi | employee_lastname_yomi | birthday | gender | telephone_number | address01 | address02 | address03 | mailaddress01 | mailaddress02 | join_year | join_month | group_id | registration_function_id | registration_user_id | registration_time 3-----------------+-------------------+--------------------+-------------------------+------------------------+----------+--------+------------------+-----------+-----------+-----------+---------------+---------------+-----------+------------+----------+--------------------------+----------------------+------------------- 4(0 行)
lang
1package shain; 2 3import java.sql.Connection; 4import java.sql.DriverManager; 5import java.sql.PreparedStatement; 6import java.sql.SQLException; 7 8public class ShainDataDao { 9 10 private String url; 11 private String userName; 12 private String password; 13 14 public ShainDataDao() throws ClassNotFoundException { 15 this.url = "jdbc:postgresql://localhost:5432/shain_data"; 16 this.userName = "postgres"; 17 this.password = "sauron44"; 18 19 try { 20 Class.forName("org.postgresql.Driver").newInstance(); 21 } catch (ClassNotFoundException e) { 22 } catch (Exception e) { 23 } 24 } 25 26 //insertのためのinsertShainDataメソッド 27 public void insertShainData(RegistrationBean rb) throws SQLException { 28 String sql = "INSERT INTO employee_information_table" 29 + "(employee_number,employee_lastname,employee_firstname," 30 + "employee_firstname_yomi,employee_lastname_yomi,birthday,gender," 31 + "telephone_number,address01,address02,address03,mailaddress01,mailaddress02," 32 + "join_year,join_month,group_id,registration_function_id,registration_user_id,registration_time)" 33 + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 34 try (Connection connection = DriverManager.getConnection(url, userName, password); 35 PreparedStatement pstatement = connection.prepareStatement(sql);) { 36 pstatement.setString(1, rb.getFormalNumber()); 37 pstatement.setString(2, rb.getLastName()); 38 pstatement.setString(3, rb.getFirstName()); 39 pstatement.setString(4, rb.getLastNameHurigana()); 40 pstatement.setString(5, rb.getFirstNameHurigana()); 41 pstatement.setString(6, rb.getBirthday()); 42 pstatement.setString(7, rb.getSelectGender()); 43 pstatement.setString(8, rb.getTelephoneNumber()); 44 pstatement.setString(9, rb.getPrefectureAddress()); 45 pstatement.setString(10, rb.getCityAddress()); 46 pstatement.setString(11, rb.getBuildAddress()); 47 pstatement.setString(12, rb.getMailAddress01()); 48 pstatement.setString(13, rb.getMailAddress02()); 49 pstatement.setString(14, rb.getJoinYear()); 50 pstatement.setString(15, rb.getJoinMonth()); 51 pstatement.setString(16, rb.getGroupId()); 52 pstatement.setString(17, rb.getFunctionId()); 53 pstatement.setString(18, rb.getUserId()); 54 pstatement.setString(19, rb.getRegistrationTime()); 55 pstatement.executeUpdate(); 56 57 } catch (SQLException e) { 58 e.printStackTrace(); 59 throw e; 60 } 61 } 62 63 public void findUser(String userId)throws SQLException { 64 String sql = "SELECT * FROM employee_shain_table WHERE user_id = ?"; 65 try (Connection connection = DriverManager.getConnection(url, userName, password); 66 PreparedStatement pstatement = connection.prepareStatement(sql);) { 67 pstatement.setString(1,userId); 68 pstatement.executeQuery(); 69 } 70 71 } 72}
回答1件
あなたの回答
tips
プレビュー