[Java/PostgreSQL] WEB 앱을 데이터베이스에 연결하기
11175 단어 서블릿Mac이클립스PostgreSQL자바
이 기사의 내용
Eclipse에서 개발하는 웹 앱과 데이터베이스를 연결하는 방법
이 기사를 쓴 이유
잊을 때 확인하기 위해
이 기사를 쓴 사람의 특징
2011년 국립대교육학부졸(당시, 프로그래밍에 전혀 관심 없음)
대학 졸업 후, 이세탄·리크루트 등으로 근무.
2016년경~ 독학으로 프로그래밍 공부 시작
(Rails로 앱을 개발할 수 있게 됨)
2018년 ~ SE로 근무
Rails에서는 DB의 설정은 명령을 입력하면 자동으로 처리할 수 있었다.
Java에서는, 그 설정을 스스로 할 필요가 있기 때문에 그 공부를 겸해 이 기사를 썼다.
개발 환경
PC: Mac
OS: MacOS Mojave
언어: Java
IDE: Eclipse
DB: PostgreSQL
DB 관리 도구: pgAdmin
전제 조건
연결 대상 데이터베이스 정보
· 연결 대상 데이터베이스는 로컬 환경 (포트 : 5432)입니다.
· 샘플 데이터베이스에는 customer 테이블이 있습니다.
・customer 테이블에는 하기의 샘플 데이터가 저장되어 있다
SQL
SELECT * FROM customer;
실행 결과
id | name | email | password
------+----------+---------------------+----------
0001 | sample1 | [email protected] | password
0002 | sample2 | [email protected] | password
0003 | sample3 | [email protected] | password
0004 | sample4 | [email protected] | password
0005 | sample5 | [email protected] | password
0006 | sample6 | [email protected] | password
0007 | sample7 | [email protected] | password
0008 | sample8 | [email protected] | password
0009 | sample9 | [email protected] | password
0010 | sample10 | [email protected] | password
(10 rows)
Eclipse에서 개발하는 웹 앱 정보
·이 WEB 앱은 동적 WEB 프로젝트 (Dynamic WEB Project)로 작성
·이 웹 앱은 http://localhost:8080/sample/sample2에 액세스한다고 가정합니다.
코드 예
Sampleapp2.java
package jp.co.sample;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class Sampleapp2 extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<style>table,th,td,tr{border: 1px solid black};</style>");
out.println("<body>");
out.println("<h1>Sampleapp by Java Servlet</h1>");
out.println("</body>");
out.println("</html>");
String url = "jdbc:postgresql://localhost:5432/sample";
String user = "USERNAME";
String password = "PASSWORD";
try{
Class.forName("org.postgresql.Driver");
System.out.println("データベースの接続に成功しました");
} catch(Exception e) {
e.printStackTrace();
}
try {
Connection conn = DriverManager.getConnection(url, user, password);
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM customer";
ResultSet rset = stmt.executeQuery(sql);
out.println("<table>");
out.println("<tr><th>ID</th><th>UserName</th><th>Email</th></tr>");
while(rset.next()) {
out.println("<tr><td>" + rset.getString("id") + "</td><td>" + rset.getString("name") + "</td><td>" + rset.getString("email") + "</td></tr>");
}
out.println("</table>");
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
}
}
}
포인트
WEB-INF/lib
디렉토리에 .jar 파일 넣기실행 결과
웹 앱 서버를 실행하고 http://localhost:8080/sample/sample2
Eclipse 콘솔
5月 12, 2019 4:26:33 午後 org.apache.catalina.startup.VersionLoggerListener log
情報: Server version name: Apache Tomcat/9.0.14
(中略)
5月 12, 2019 4:26:35 午後 org.apache.catalina.startup.Catalina start
情報: サーバーの起動 [1,215]ms
データベースの接続に成功しました
브라우저에서 화면 확인
데이터베이스에 저장된 데이터가 브라우저에 표시되는 것을 확인할 수 있었다.
앞으로 하고 싶은 일
데이터 저장, 편집, 업데이트, 삭제
AWS에 놓은 DB와의 연계
감상
Rails에서는 명령 몇 줄을 쓰고 실행하면 자동으로 설정할 수있는 DB.
Java에서는 하나하나 스스로 설정해야 하는 것이 귀찮다.
Reference
이 문제에 관하여([Java/PostgreSQL] WEB 앱을 데이터베이스에 연결하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tanakadaichi_1989/items/c2c053670bae41cf2d3f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)