방법 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에 등록해야함
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);
}
}
}
}
환경변수에서 클래스 경로 설정했는데 쉘 재부팅하니 그 내용이 사라짐 ;; 어이없죠;;
또다른 테스트