Java afterLast()

2023. 3. 28. 00:07Java

프로젝트 내 src 내 javabasic 패키지 내 ScrollResultSetEx.java

package javabasic;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;

public class ScrollResultSetEx {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		Class.forName("oracle.jdbc.driver.OracleDriver");
		String url = "jdbc:oracle:thin:@localhost:1521:orcl";
		Connection conn = DriverManager.getConnection(url, "scott", "a1234");
		
		System.out.println("접속 완료!!");
		
		Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);	//양방향이 가능한 스크롤타입,단지 커서의위치에서 데이타를 동적으로 내용을 수정할수있는가에 대해서는 동적으로 데이타내용을 수정할수는 없다
		
		String query = "select * from person order by no";
		ResultSet rs = st.executeQuery(query);
		System.out.println("번호\t이름\t몸무게\t생일");
		
		rs.afterLast();	//마지막행 다음이후에 커서위치 옮김
		while(rs.previous()) {
			int no = rs.getInt(1);
			String name = rs.getString(2);
			Double weight = rs.getDouble(3);
			Date birthday = rs.getDate(4);
			System.out.println(no+"\t"+name+"\t"+weight+"\t"+birthday);
		}
		
		System.out.println("----커서위치 바꾸기----");
		rs.absolute(5);
		System.out.println(rs.getInt(1)+","+rs.getString(2)+","+rs.getRow());
		
		if(rs != null) rs.close();
		if(st != null) st.close();
		if(conn != null) conn.close();
	}

}

실행 결과

접속 완료!!
번호	이름	몸무게	생일
0	null	0.0	null
0	null	0.0	null
5	김말똥	100.2	2023-02-20
4	장관우	96.5	2022-02-23
3	김관우	96.5	2022-02-23
2	유비	96.5	2022-02-23
2	김관우	90.9	2023-02-19
1	장비	96.5	2022-02-21
----커서위치 바꾸기----
4,장관우,5
 
void java.sql.ResultSet.afterLast() throws SQLException
요 ResultSet 객체의 끝으로 커서를 이동시킨다, 바로 마지막 행 뒤로 이동시킨다.

 

'Java' 카테고리의 다른 글

Java ResultSetMetaData  (0) 2023.04.04
Java Singleton Type Class  (0) 2023.03.30
Java JDBC™ 4.2 API  (0) 2023.02.28
Java - java.sql  (0) 2023.02.27
Java CharArrayReader class  (0) 2023.02.27