.etc/Review

[211217] DAO에 OracleConnect 연결 객체 생성

감자탈출기 2021. 12. 17. 16:03
TEST table과 연결하기 위한 클래스를 작성하고, TEST table의 모든 rows를 리턴하는 메서드를 작성하시오.
클래스 : com.kh.test.model.TestDao
메서드 : public List<Test> selectList()
DB url : jdbc:oracle:thin:@192.168.10.3:1521:xe
DB username : kh
DB password : kh

 

package com.kh.test.model;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

public class TestDao {

public List<Test> selectList(){

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

Connection con = null;

String url = "jdbc:oracle:thin:@localhost:1521:xe";

String user = "kh";

String password = "kh";

try {

con = DriverManager.getConnection(url, user, password);

con.setAutoCommit(false);

} catch (SQLException e) {

e.printStackTrace();

}

PreparedStatement pstm = null;

ResultSet rs = null;

List<Test> list = new ArrayList<Test>();

String sql = " SELECT * FROM TEST ";

try {

pstm = con.prepareStatement(sql);

rs = pstm.executeQuery();

while(rs.next()) {

Test test = new Test();

test.setSeq(rs.getInt(1));

test.setWriter(rs.getString(2));

test.setTitle(rs.getString(3));

test.setContent(rs.getString(4));

test.setRegdate(rs.getDate(5));

list.add(test);

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

try {

rs.close();

pstm.close();

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

return list;

}

}​