본문 바로가기

jsp

데이터베이스 연동: 데이터베이스에 연결하고 데이터를 조회하는 JSP 예제.

반응형

데이터베이스 연동은 JSP에서 매우 중요한 부분으로, 데이터를 저장하고 검색하는 기능을 제공합니다. 일반적으로 JDBC(Java Database Connectivity)를 사용하여 데이터베이스와 연결합니다. 다음은 JSP에서 데이터베이스에 연결하고 데이터를 조회하는 두 가지 예제입니다.

예제 1: 데이터베이스 연결 및 데이터 조회

<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Database Connection Example</title>
</head>
<body>

<%
    // 데이터베이스 설정
    String url = "jdbc:mysql://localhost:3306/YourDatabase"; // YourDatabase는 실제 데이터베이스 이름으로 바꿔야 함
    String user = "root";
    String password = "yourpassword"; // 실제 비밀번호로 바꿔야 함

    try {
        // 데이터베이스 연결
        Class.forName("cohttp://m.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection(url, user, password);

        // 쿼리 실행
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT * FROM users"); // 'users'는 테이블 이름

        // 데이터 출력
        while(rs.next()) {
            out.println("User: " + rs.getString("username") + "<br>");
        }

        // 자원 해제
        rs.close();
        stmt.close();
        conn.close();
    } catch(Exception e) {
        e.printStackTrace();
    }
%>

</body>
</html>

 

예제 2: 데이터 입력 및 업데이트

<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Database Update Example</title>
</head>
<body>

<%
    // 데이터베이스 설정
    String url = "jdbc:mysql://localhost:3306/YourDatabase"; // YourDatabase는 실제 데이터베이스 이름으로 바꿔야 함
    String user = "root";
    String password = "yourpassword"; // 실제 비밀번호로 바꿔야 함

    try {
        // 데이터베이스 연결
        Class.forName("cohttp://m.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection(url, user, password);

        // 쿼리 준비
        String sql = "INSERT INTO users (username, password) VALUES (?, ?)";
        PreparedStatement pstmt = conn.prepareStatement(sql);

        // 파라미터 설정
        pstmt.setString(1, "NewUser");
        pstmt.setString(2, "UserPassword");

        // 쿼리 실행
        int rows = pstmt.executeUpdate();
        out.println(rows + " row(s) affected.");

        // 자원 해제
        pstmt.close();
        conn.close();
    } catch(Exception e) {
        e.printStackTrace();
    }
%>

</body>
</html>

관련 전문용어 설명

  • JDBC (Java Database Connectivity): Java 애플리케이션에서 데이터베이스에 접근할 때 사용하는 API입니다. JDBC를 통해 SQL 명령을 실행하고 데이터베이스와 상호작용할 수 있습니다.
  • Connection: 데이터베이스와 연결을 위한 객체입니다. DriverManager.getConnection을 통해 생성됩니다.
  • Statement: SQL 명령을 데이터베이스에 보내는데 사용되는 객체입니다. executeQuery나 executeUpdate 등의 메소드를 통해 SQL을 실행합니다.
  • ResultSet: SELECT 쿼리의 결과 데이터를 포함하는 객체입니다. next 메소드를 사용하여 데이터를 순회할 수 있습니다.
반응형