본문 바로가기

JSP

모든 테이블의 목록을 출력한다//jsp, db연동//테이블table

- JDBC를 사용하여 테이블에 쿼리를 실행하기 위해서 PreparedStatement 객체를 사용한다.

 

- insert, update, delete는 executeUpdate() 를 호출하여 쿼리를 실행한다.

 

- 쿼리가 실행 성공 실패 여부와 상관없이 finally 를 통해서 PreparedStatement  객체와, Connection 객체의 자원을 해제해줘야 한다.

예제)

<%
Connection conn = null;                                        // null로 초기화 한다.
PreparedStatement pstmt = null;

try{
String url = "jdbc:mysql://localhost:3306/jdbcTest";        // 사용하려는 데이터베이스명을 포함한 URL 기술
String id = "testid";                                                    // 사용자 계정
String pw = "testpw";                                                // 사용자 계정의 패스워드

Class.forName("com.mysql.jdbc.Driver");                       // 데이터베이스와 연동하기 위해 DriverManager에 등록한다.
conn=DriverManager.getConnection(url,id,pw);              // DriverManager 객체로부터 Connection 객체를 얻어온다.

String sql = "insert into member1 values(?,?,?,?)";        // sql 쿼리
pstmt = conn.prepareStatement(sql);                          // prepareStatement에서 해당 sql을 미리 컴파일한다.
pstmt.setString(1,"test");
pstmt.setString(2,"passwd");
pstmt.setString(3,"김철수");
pstmt.setTimestamp(4, new Timestamp(System.currentTimeMillis()));    // 현재 날짜와 시간

pstmt.executeUpdate();                                        // 쿼리를 실행한다.

out.println("member 테이블에 새로운 레코드를 추가했습니다.");        // 성공시 메시지 출력

}catch(Exception e){                                                    // 예외가 발생하면 예외 상황을 처리한다.
e.printStackTrace();
out.println("member 테이블에 새로운 레코드 추가에 실패했습니다.");
}finally{                                                            // 쿼리가 성공 또는 실패에 상관없이 사용한 자원을 해제 한다. (순서중요)

if(pstmt != null) try{pstmt.close();}catch(SQLException sqle){}            // PreparedStatement 객체 해제
if(conn != null) try{conn.close();}catch(SQLException sqle){}            // Connection 해제
}
%>

 

 

 

 

 

 

jsp

<body>
<h1>HR Tables</h1>
<p>모든 테이블의 목록을 출력한다</p>

<%
//java영역
Class.forName("oracle.jdbc.driver.OracleDriver");

String url = "jdbc:oracle:thin:@192.168.7.40:1521:xe";
String user = "hr";
String password = "hr";

Connection conn = DriverManager.getConnection(url, user, password);

String sql = "SELECT * FROM TAB";
PreparedStatement psmt = conn.prepareStatement(sql);
ResultSet rs = psmt.executeQuery();

ResultSetMetaData rsmd = rs.getMetaData();	//column 정보
int count = rsmd.getColumnCount();		//column 갯수
%>

<table border="1">
<tr>
	<%
	for(int i = 1; i < count +1; i++){
	%>
		<th><% =rsmd.getColumnName(i) %></th>
	<% 
	}
	%>
</tr>
<%

while(rs.next()){
%>
	<tr>
		<%
		for(int i=1; i<count+1; i++){
			String cols = rs.getString(i);
		%>	
			<td><% =cols %></td>
		<%	
		}
		%>
		
	</tr>
<%
}
%>
</table>
</body>

'JSP' 카테고리의 다른 글

el tag 기본  (0) 2020.07.27
구구단 table // jsp로 만들기  (0) 2020.07.22
Web창에 jsp?name=가나다&age 입력하여 값넣기  (0) 2020.07.22
기본2  (0) 2020.07.22
파일 주고보내기(dto.java // jsp )  (0) 2020.07.22