org.postgresql.util.PSQLException: No value specified for parameter 에러 해결 정리

iy·2024년 3월 4일

JDBC 테스트 코드

	@Test
    @DisplayName("JDBC DAO 삽입/조회 실습")
    void jdbcDAOInsertSelectTest() throws SQLException {
        // given
        AccountDAO accountDAO = new AccountDAO();

        // when
        var id = accountDAO.insertAccount(new AccountVO("new user", "new password"));

        // then
        var account = accountDAO.selectAccount(id);
        assert account.getUsername().equals("new user");
    }

발생한 에러

발생한 에러를 확인하니 account의 null값이 들어가는 거 같았다.

null값 확인

    @Test
    @DisplayName("JDBC DAO 삽입/조회 실습")
    void jdbcDAOInsertSelectTest() throws SQLException {
        // given
        AccountDAO accountDAO = new AccountDAO();

        // when
        var id = accountDAO.insertAccount(new AccountVO("new user", "new password"));

        // then
        var account = accountDAO.selectAccount(id);
        System.out.println("account : " + account);
        assert account.getUsername().equals("new user");
    }

에러 원인

강의를 들으면서 코드를 따라서 치다 보니 놓친 부분이 있었던 거 같다.. 해당 account를 불러오는 ACCOUNT_SELECT 문의 설정이 잘못되어 있었다.

코드 수정

올바른 ACCOUNT_SELECT 문을 수정해줬다.

해결

0개의 댓글