본문 바로가기
MySql

MySQL JDBC PreparedStatement에 매개 변수 전달

by 베이스 공부 2021. 1. 26.
반응형

내 프로그램에 대한 유효성 검사 클래스를 만들려고합니다. 이미 MySQL 데이터베이스에 대한 연결을 설정하고 테이블에 행을 이미 삽입했습니다. 테이블은 firstName , lastName userID 필드로 구성됩니다. 이제 생성자의 매개 변수를 통해 데이터베이스의 특정 행을 선택하고 싶습니다.

import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.Connection;

public class Validation {

    private PreparedStatement statement;
    private Connection con;
    private String x, y;

    public Validation(String userID) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/test", "root", "");
            statement = con.prepareStatement(
                    "SELECT * from employee WHERE  userID = " + "''" + userID);
            ResultSet rs = statement.executeQuery();
            while (rs.next()) {
                x = rs.getString(1);
                System.out.print(x);
                System.out.print(" ");
                y = rs.getString(2);
                System.out.println(y);
            }
        } catch (Exception ex) {
            System.out.println(ex);
        }
    }
}
    

그러나 작동하지 않는 것 같습니다.

 

해결 방법

 


statement =con.prepareStatement("SELECT * from employee WHERE  userID = ?");
statement.setString(1, userID);


 

참조 페이지 https://stackoverflow.com/questions/12745186

 

 

반응형

댓글