SELECT * FROM GOODSINFO;
위의 GOODSINFO 테이블을 이용하여 빈즈 클래스를 만들고,
빈즈를 이용하여 특정 코드값에 해당하는 가격을 변경하는 JDBC 예제
1. GoodsInfo란 이름으로 빈즈 클래스 작성. 일단 필드 변수만 선언하자.
package 빈즈;
public class GoodsInfo {
private String code;
private String name;
private int price;
private String maker;
// GOODSINFO 테이블의 CODE, NAME, PRICE, MAKER를 담을 필드변수를 선언
// private 꼭 붙일 것!
}
2. 이클립스에서 필드 변수 아래쪽을 클릭 후 마우스 오른쪽을 누른 뒤,
Source > Generate Getters and Setters를 클릭한다.
3. Source > Generate Getters and Setters를 클릭했을 때 다음과 같은 창이 뜬다.
Select All을 누른 뒤 OK를 누른다.
4. 이클립스 상에서 다음과 같이 하단에 겟터 메소드와 셋터 메소드가 자동으로 들어간 것을 확인할 수 있다.
5. GoodsInfo란 이름의 빈즈 클래스 완성!!
package 빈즈;
public class GoodsInfo {
private String code;
private String name;
private int price;
private String maker;
// private + GOODINFO 테이블의 컬럼을 받아올 필드 변수 선언
public String getCode() { // CODE 컬럼의 값을 받아올 getter 메소드
return code; // 컬럼의 값을 code로 리턴한다.
}
public void setCode(String code) { // CODE 컬럼을 값을 내보낼 setter 메소드
this.code = code; // 위에서 private로 선언한 필드변수 code에 메소드의 code 값을 담는다.
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getMaker() {
return maker;
}
public void setMaker(String maker) {
this.maker = maker;
}
}
6. 빈즈 클래스인 GoodsInfo를 사용하는 JDBC 실행 클래스
package 빈즈;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class JDBC_Beans01 {
public void updateGoodsInfo(GoodsInfo goods) { // 빈즈 GoodsInfo 클래스의 goods 가져와서
// UPDATE를 적용해서 데이터를 변경할 메소드
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@211.183.9.66:1521:xe";
String sql = "UPDATE GOODSINFO SET PRICE = ? WHERE CODE = ?";
Connection con = null;
PreparedStatement pstmt = null;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, "st02", "st02");
pstmt = con.prepareStatement(sql);
pstmt.setInt(1, goods.getPrice()); // 빈즈 goodsInfo 에서 가져옴
pstmt.setString(2, goods.getCode()); // 빈즈 goodsInfo 에서 가져옴
pstmt.executeUpdate();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
finally {
try {
pstmt.close();
con.close();
} catch (Exception e) {
}
}
}
public static void main(String[] args) { // 위의 updateGoodsInfo 메소드를 실행할 메인 메소드
GoodsInfo goods = new GoodsInfo(); // 빈즈 클래스 GoodsInfo를 goods로 인스턴스화
goods.setCode("10005"); // 빈즈 클래스의 setCode 메소드 사용(setter)
goods.setPrice(400000); // 빈즈 클래스의 setPrice 메소드 사용(setter)
JDBC_Beans01 obj = new JDBC_Beans01(); // 현재의 이 클래스를 obj로 인스턴스화
obj.updateGoodsInfo(goods); // 위의 updateGoodsInfo 메소드에 빈즈 인스턴스를 사용한다.
}
}
'자바의 기초문법' 카테고리의 다른 글
네이버 개발자센터 SVN 이클립스에 연동하기 (0) | 2016.01.25 |
---|---|
JDBC 자바 빈즈(Beans) 예제: SELECT문 (0) | 2016.01.21 |
자바 빈즈(Beans) 클래스 (0) | 2016.01.21 |
JDBC 문제: 자바에서 데이터 입력,수정,삭제,조회 (2) | 2016.01.07 |
JDBC 연습: 데이터 검색(SELECT) (0) | 2016.01.07 |