본문 바로가기
[DBMS]/- Oracle

[Oracle] jdbc , beans

by Hapco 2022. 5. 31.
728x90
반응형

오라클을 연결하는 메소드를 만들었으니 이번엔

테이블을 불러오는 클래스를 만들어보겠습니다.

필요한 클래스는 2개

DAO : Data Access object 데이터 접근객체

=> 각각의 작업(CRRUD)들을 메소드 단위로 보관하고 호출하여 사용

-> 일상생활의비유 ==> 택배기사님

DTO : Data transfer object 데이터 전달 객체

ex) exam 테이블에서 필요한 클래스

클래스에서 필요한 3개 요소 / 맴버필드(변수) , 메소드 , 생성자

==>일상생활의 비유 ==> 포장상자

코드를 예를 들어보자.

일단 exam table의 Dto 먼저 코드를보겟다

public class ExamDto {
	private int examId;
	private String student;
	private String subject;
	private String type;
	private int score;
	//기본생성자 
	public ExamDto() {
		super();
	}
	//세터 게터
	public int getExamId() {
		return examId;
	}
	public void setExamId(int examId) {
		this.examId = examId;
	}
	public String getStudent() {
		return student;
	}
	public void setStudent(String student) {
		this.student = student;
	}
	public String getSubject() {
		return subject;
	}
	public void setSubject(String subject) {
		this.subject = subject;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}

맴버 필드와 값을 불러오고 저장하기 위한 세터와 게터 메소드 그리고 초기화를 위한 생성자 는 기본으로 깔고 들어간다 . (필요하다면 더만들어도된다)

이제 이 Dto를 기반으로 Dao를 작성해보자

public void insert(ExamDto examDto) throws Exception{
		Connection con =JdbcUtils.connect("kh", "kh");
		String sql= "insert into exam values(exam_seq.nextval,?,?,?,?)";
		PreparedStatement ps = con.prepareStatement(sql);
		
		ps.setString(1,examDto.getStudent() );
		ps.setString(2, examDto.getSubject());
		ps.setString(3, examDto.getType());
		ps.setInt(4, examDto.getScore());
		ps.execute();
		con.close();
		
	}

코드가 달라진것이 잇는가? 달라졋다면 대입값에 게터메소드가 들어갓다는거정도?...

이제두개의 클래스를 활용하여 exam테이블을 불러와보자

Dto클래스를 불러와서 포장을 먼저해주자

 

//ExamDto를 준비하여 데이터를 미리 포장한뒤 등록하도록 처리
		
		ExamDto examDto = new ExamDto(); //비어잇는 객체 생성 
		examDto.setStudent("거북왕");
		examDto.setSubject("데이터입출력구현");
		examDto.setType("서술형");
		examDto.setScore(80);

택배기사님을 불러서 발송 !

//1.모듈 객체 생성
		ExamDao examDao =new ExamDao();

		examDao.insert(examDto); //데이터를 의미잇는 단위로관리
		System.out.println("끝!");

이부분은 모르면 씹어먹어야한다고 강조해주셧다.

'[DBMS] > - Oracle' 카테고리의 다른 글

[Oracle]Jdbc,beans,delete  (0) 2022.05.31
[Oracle] jdbc,bean,update  (0) 2022.05.31
[Oracle] jdbc (Select 원하는 항목 검사 )  (0) 2022.05.31
[Oracle] jdbc , 단일조회  (0) 2022.05.31
[Oracle]Like 조건절 검색  (0) 2022.05.31

댓글