Dao(Data Access Object)
:데이터베이스와 연동해서 DB작업만 수행하는 클래스
Vo(Value Object),TO라고도 불림.
:여러 다른 타입의 데이터를 다른 클래스로 전달할 때 사용
<VO> //객체(Value Object)
public class ProdVO {
객체1
객체2
...
생성자(){}
get메서드들(){}
...
<DAO> //입력, 수정, 삭제등 데이터 변경 작업(Data Access Object)
public class ProdDAO {
final 정의 코드들
...
public ArrayList<ProdVO> listProdinfo(){
ProdVO를 여러개 담을 객체 ArrayList 생성
connDB() //DB연결해줌
쿼리변수 정의해줌
SELECT 결과집합 받기 || UPDATE int받기
while(rs.next()){ //레코드 호출
get메서드에 넣고
VO()생성 //지역변수를 ProdVO객체로 다시 조각조각
close()
return list;
}
public void addProdInfo(ProdVO prodVO){ //제품 정보를 테이블에 추가하는 메소드
변수 비워줌
변수에 값 넣어줌(VO에서 꺼내)
connDB()
쿼리문 적어줌
쿼리문 결과집합(커서,그릇생성)
public void connDB() { //DB연동
기본 설정 코드 ------
<Test> //main 실행 클래스
main(String[] args) {
VO()=new //불러오면서 값 넣어주기(쿼리문에 데이터를 추가해줌)
ArrayList list //ProdVO를 여러개 담을 객체 생성
for(){ //VO객체의 getter 메서드를 이용해서 레코드의 필드값을 하나씩 값에 넣어줌
<DAO>
업데이트메소드, 삭제메소드 만들어주기
//업데이트메소드
public void modProd(ProdVO vo) {
//1.값 생성해서 연결해줌
String _name=null;
int _qty=0;
_name =vo.getProdName();
_qty =vo.getProdQty();
//2.쿼리문으로 값 넣어줌
try {
connDB();
String query="update Product ";
query+= "set prodQty="+_qty;
query+= " where prodName='"+_name+"'";
System.out.println(query);
stmt.executeUpdate(query);
con.commit(); //업뎃하고 커밋해줄게
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//삭제메소드
public void delProd(ProdVO vo) {
String _name=null;
_name =vo.getProdName();
try {
connDB();
String query="delete from Product";
query+= " where prodName='"+_name+"'";
System.out.println(query);
stmt.executeUpdate(query);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
'DB' 카테고리의 다른 글
PL/SQL 저장 프로시저 (0) | 2022.08.17 |
---|---|
SQL 동의어 (0) | 2022.08.11 |
JDBC 주요 API (0) | 2022.08.10 |
JDBC 입력, 수정, 삭제 (0) | 2022.08.09 |
JDBC 트랜잭션 (0) | 2022.08.09 |