JAVA/Practice

์ž๋ฐ”(Java)์—์„œ ResultSet ํด๋ž˜์Šค

ITs Min 2023. 12. 20.

๐Ÿ” ResultSet

ResultSet ํด๋ž˜์Šค๋Š” Java์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋‹ค. JDBC(Java Database Connectivity)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ง€์›ํ•˜๋Š”๋ฐ, ResultSet๋Š” ๊ทธ ์ค‘์—์„œ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ค‘์š”ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ์ค‘ ํ•˜๋‚˜๋‹ค.

ResultSet ์ธํ„ฐํŽ˜์ด์Šค๋Š” Statement ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด SQL ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ๋กœ ์ƒ์„ฑ๋œ๋‹ค. Statement๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ „์†กํ•˜๊ณ , ResultSet์€ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ฃผ๋กœ Statement์˜ executeQuery ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด SQL ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ ResultSet ๊ฐ์ฒด๋ฅผ ์–ป๋Š”๋‹ค.


๐Ÿ” ResultSet ์ฃผ์š” ๋ฉ”์„œ๋“œ

  1. ์ปค์„œ ์ด๋™ ๋ฉ”์„œ๋“œ:
    • next(): ๋‹ค์Œ ๋ ˆ์ฝ”๋“œ๋กœ ์ปค์„œ๋ฅผ ์ด๋™ํ•˜๊ณ , ๋ ˆ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋ฉด true๋ฅผ, ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    • previous(): ์ด์ „ ๋ ˆ์ฝ”๋“œ๋กœ ์ปค์„œ๋ฅผ ์ด๋™ํ•œ๋‹ค.
  2. ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ ๋ฉ”์„œ๋“œ:
    • getInt(String columnLabel), getString(String columnLabel), ๋“ฑ: ํ˜„์žฌ ๋ ˆ์ฝ”๋“œ์˜ ํŠน์ • ์—ด(column)์˜ ๊ฐ’์„ ์ฝ์–ด์˜จ๋‹ค.
  3. ์ปฌ๋Ÿผ ์ •๋ณด ์–ป๊ธฐ:
    • getMetaData(): ResultSetMetaData ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์ปฌ๋Ÿผ ์ด๋ฆ„, ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋“ฑ)๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
  4. ๋ฐ์ดํ„ฐ ํ˜•์‹ ๋ณ€ํ™˜ ๋ฉ”์„œ๋“œ:
    • getXXX(): ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฐ€์ ธ์˜จ ๊ฐ’์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ๋”ฐ๋ผ ์ ์ ˆํ•œ get ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ฝ์–ด์˜ฌ ์ˆ˜ ์žˆ๋‹ค. (์˜ˆ: getInt(), getString())
  5. ์—…๋ฐ์ดํŠธ ๋ฉ”์„œ๋“œ:
    • updateXXX(): ํ˜„์žฌ ๋ ˆ์ฝ”๋“œ์˜ ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.
  6. ์ปค์„œ ์œ„์น˜ ์ œ์–ด:
    • absolute(int row): ์ง€์ •๋œ ํ–‰์œผ๋กœ ์ปค์„œ๋ฅผ ์ด๋™ํ•œ๋‹ค.
    • relative(int rows): ํ˜„์žฌ ์ปค์„œ ์œ„์น˜์—์„œ ์ƒ๋Œ€์ ์œผ๋กœ ์ง€์ •๋œ ํ–‰ ์ˆ˜๋งŒํผ ์ด๋™ํ•œ๋‹ค.

์ฃผ์˜ํ•  ์ ์€ ResultSet์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์—ฐ๊ฒฐ์ด ์—ด๋ ค ์žˆ๋Š” ๋™์•ˆ์—๋งŒ ์œ ํšจํ•˜๋ฉฐ, ์‚ฌ์šฉ์ด ๋๋‚˜๋ฉด close() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์ž์›์„ ๋ฐ˜๋‚ฉํ•ด์•ผ ํ•œ๋‹ค.


๐Ÿ’ก ์˜ˆ์‹œ

public ArrayList<BoardDTO> selectAll(BoardDTO bDTO) {
		ArrayList<BoardDTO> datas = new ArrayList<BoardDTO>();

		conn = JDBCUtil.connect();
		try {
			pstmt = conn.prepareStatement(SELECTALL);
			ResultSet rs = pstmt.executeQuery();

			while (rs.next()) {
				BoardDTO data = new BoardDTO();
				data.setBid(rs.getInt("BID"));
				data.setContent(rs.getString("CONTENT"));
				data.setRegdate(rs.getDate("REGDATE"));
				data.setTitle(rs.getString("TITLE"));
				data.setWriter(rs.getString("WRITER"));
				datas.add(data);
			}

			rs.close();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			JDBCUtil.disconnect(pstmt, conn);
		}

		return datas;
	}

 

๋Œ“๊ธ€

TOP

๋Šฆ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ๋• ๋„ˆ๋ฌด ๋Šฆ์€ ๊ฑฐ๋‹ค.