java와 PostgreSQL 연동 빡친다..

NANA·2022년 8월 10일
0

at Work

목록 보기
6/14

방법 1.

https://blog.naver.com/PostView.nhn?blogId=kimdj217&logNo=221575281201

안됨. JDBC.jar 을 놓는 위치가 잘못된 것 같음

아니 근데 postgresql-jdbc 드라이버 패키지가 있어서
yum install 해서 설치함.
근데 jar로는 왜 안됐는지는 모르겠어서 화가 남.

일단 다음 단계로 넘어가서..

https://www.tutorialspoint.com/postgresql/postgresql_java.htm

이대로 Connection 코드 치고..

javac~ java~ 했는데~ 안돼~~

A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError:PostgreSQLJDB        C has been compiled by a more recent version of the Java Runtime (class file ver        sion 57.0), this version of the Java Runtime only recognizes class file versions         up to 52.0

자바 컴파일러랑 자바 버전이 안맞아서 생기는 문제란다..
내가 언제 다른 버전 자바를 매입했는데..?
jdk 하나 깔았으면 알아서 해줘야하는거 아니냐느뇨?

https://holics1226.tistory.com/24#gsc.tab=0

이걸로 해결..

그러나 여전히 Java.lang.cClassNotFoundException 뜬다..
org.postgresql.Driver를 못찾는다는 것..

일단
JDBC jar 파일 경로를 CLASSPATH에 등록해야함

https://mkil.tistory.com/481

import 할 게 있을 때는 컴파일 옵션을 써줘야한다고 되어있는데 그건 모르겠고..

java 파일명
이렇게만 해도 실행돼야 하는데

java 파일명.java

이렇게 되는지 모르겠음ㅠㅠ classpath 건드려서 그런가..?

:$JAVA_HOME/lib;

빼고 더해도 똑같노.. 뭐노..

갹 된다!~~!!!!!!!!!!!!!!!!!!!!!!!!!111

알고보니 postgresql이 실행이 안되고 있었음
systemctl enable 한 번 더 해주고 start하니까 된다~!!!!!!된다!!!!

import java.sql.Connection;
import java.sql.DriverManager;

public class PostgreSQLJDBC {
   public static void main(String args[]) {
      Connection c = null;
      try {
         Class.forName("org.postgresql.Driver");
         c = DriverManager
            .getConnection("jdbc:postgresql://192.168.2.248:5432/testDB",
            "testuser", "testuser");
      } catch (Exception e) {
         e.printStackTrace();
         System.err.println(e.getClass().getName()+": "+e.getMessage());
         System.exit(0);
      }
      System.out.println("Opened database successfully");
   }
}

DBConn 했었던 기억을 더듬어서 연결~!!!!!
Opened database successfully~~~우하하하하하하ㅏ하

이제 이걸 테스트 해봐야 한다
[
https://kentakang.com/118

이걸 참고하도록.. 그전에 테스트 해 볼 DB 만드는 걸 잊지 말 것


public class JDBCTest {
   public static void main(String[] args) {

      Connection conn=null;
      Statement st=null;
      ResultSet rs=null;

      String url = "jdbc:postgresql://192.168.2.248/testDB";
      String user = "testuser";
      String password = "password";

      try {
         conn = DriverManager.getConnection(url, user, password);
         st = conn.createStatement();
         rs = st.executeQuery("SELECT VERSION()");

         if (rs.next())
            System.out.println(rs.getString(1));
      } catch (SQLException sqlEX) {
            System.out.println(sqlEX);
      } finally {
           try {
               rs.close();
               st.close();
               conn.close();
           } catch (SQLException sqlEX) {
               System.out.println(sqlEX);
           }
      }
   }
}

환경변수에서 클래스 경로 설정했는데 쉘 재부팅하니 그 내용이 사라짐 ;; 어이없죠;;

또다른 테스트

https://developer-ny.tistory.com/7

profile
기술블로그 그런 거창한 거 아닙니다. 일기에요 일기

0개의 댓글