※ 개인적인 개발 수업 정리글입니다. 꾸준히 정리할 예정이고 틀린 부분이 있다면 언제든지 댓글 환영입니다.
1. JDBC_VER_0 프로젝트의 JDBCTest1 클래스
따로 클래스 추가로 생성하지 않고
pstmt 사용해서 DB 연결, Select 전체 썼던거
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class JDBCTest { public static void main(String[] args) { String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:xe"; String userid = "scott"; String passwd = "tiger"; Connection con=null; PreparedStatement pstmt=null; ResultSet rs=null; try {//2.드라이브 연결 Class.forName(driver); //3.커넥션연결 con=DriverManager.getConnection(url,userid,passwd); String sql="select deptno x, dname,loc from dept where dname=? and deptno=?"; pstmt=con.prepareStatement(sql); pstmt.setString(1, "SALES");//첫번째 ?에 맞는 조건 pstmt.setInt(2, 30);//두번째?에 맞는 조건 rs=pstmt.executeQuery(); while (rs.next()) { int deptno=rs.getInt("deptno"); String dname=rs.getString("dname"); String loc=rs.getString("loc"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if(rs!=null)rs.close(); if(pstmt!=null)pstmt.close(); if(con!=null)con.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
2. DTO 클래스 만들기
3. 메인으로 만들었던걸, 모델과 서비스로 나눴던거? ( JDBC_VER_2프로젝트 )
main으로 만들었던걸, service로 구분해서 4가지 클래스로
기본 쿼리 날렸던거.
select로하지만
insert,update도 할 줄 알아야함
1. Dept {
int deptno;
String dname;
String loc;
//멤버변수,기본생성자,전체생성자, 겟셋함수, toString함수
2. RecordNotFoundException extends Exception{
public RecordNotFoundException(String message) {
super(message);//사용자 정의 메세지
// TODO Auto-generated constructor stub
}}
//[결론] main이 service로 객체생성시: dao객체생성+드라이버 연결까지 끝냄.
//service함수: 커넥션연결&main에 보낼list객체생성+dao함수호출+커넥션 자원반납
//dao함수 : sql작성,sql실행,결과값받기+자원반납
3. main <main에서 service함수 호출>
OracleTXService service = new OracleTXService();
4. Service 1. DB연동을 위한 4가지 정보
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:XE";// orcl->SID일치 확인
String userid = "scott";
String passwd = "tiger";
OracleTxDAO dao; //dao 함수 끌어올때 쓰기 위한 멤버변수
<기본생성자{ dao 새 객체생성, 드라이버연결}> //main함수에서 객체생성을 위해 쓸거
<ArrayList select()함수 { 커넥션 연결, ArrayList제네릭 list로 dao.select(con)함수 호출, 커넥션 자원 반납 } >
<delete,insert,update함수{ 커넥션 연결, dao.함수(con, i ) 호출, 커넥션 자원 반납 } >
5. DAO
<ArrayList제네릭 select(Connection con) 함수 >
<delete함수 ( con, i ) {pstmt로 sql작성, pstmt로 sql실행, 결과값 받기, pstmt자원반납 } >
<insert함수 ( con, xx ) {pstmt로 sql작성, pstmt로 sql실행, 결과값 받기, pstmt자원반납 } >
<update함수( con, xx ) {pstmt로 sql작성, pstmt로 sql실행, 결과값 받기, if(뭐가0?레코드가 없어?) pstmt자원반납 } >
'Govern > JDBC, mybatis, Eclipse EE' 카테고리의 다른 글
08-03(화) 2.Mapper에 selectByHashMap만들기 (0) | 2021.08.03 |
---|---|
08-03(화) 1. Mapper에 insert, delete, update 만들기 (0) | 2021.08.03 |
08-02(월) mybatis (0) | 2021.08.02 |
07-30(금) (0) | 2021.07.30 |
07-28(수) JDBC, mybatis 넣는 방법 (0) | 2021.07.28 |