JSP

mysql에서 데이터 가져오기

hojomu 2023. 3. 23. 12:44

mysql의 board 테이블에는 다음과 같은 데이터가 저장되어 있다.

 

JSP에서 해당 DB에 연결하고 데이터를 가져와보자.

 

 - java.sql을 import하고

테이블의 헤더가 될 부분을 작성했다. 이후 conn, rs, stmt 객체를 생성해서 서버를 연결할 준비를 했다.

 - 서버 연결을 확인할 수 있는 try-catch문에 서버를 연결시키는 실행문을 작성하고

데이터를 가져오기 위해 while 문 내부에 rs.next() 함수를 실행시켰다.

.next() 함수는 첫 번째 열의 첫 번째 행에서부터 아래로 내려가면서 데이터가 있으면 true를 반환하고

데이터가 없으면 false를 반환한다.

 

이후에 HTML 문법으로 테이블을 작성하고 데이터베이스 내부의 값을 가져왔다.

 - catch , finally 문을 사용해서 서버 연결 상태를 확인하고 커넥션을 종료한다.

데이터를 가져온 결과물


execute의 용도

 - String update = "update board set title='가나다' where no = 1;" 명령을 사용자가 입력한 값에 따라 변화시키고 싶다면

String title = '가나다'  ->  변수를 선언하고

String update = "update board set title= ' " + title + " ' where no = 1;"

처럼 문자열과 변수를 구분해서 지정해줘야한다.


ResultSet

 : statement의 executeQuery() 메서드로 Select쿼리를 실행하면, 실행 결과를 java.sql.ResultSet 객체에 담아서 리턴한다. 따라서 결과값을 읽어올 때 ResultSet이 제공하는 메서드를 사용한다.

ex) ResultSet.next()

 

ResultSet 클래스의 주요 데이터 읽기 메서드

getString(String name) : 지정 칼럼을 String 형태로 일어온다 ( return 값이 String 타입이 된다. )

getString(int index)

-> key나 index 를 입력해서 읽어 올 수 있다.

String, CharacterStream, Int, Long, Date 등의 여러가지 타입으로 읽어올 수 있다.