sql developer
테이블 삭제, 테이블 다시 생성, 시퀀스 생성
select * from product;
drop table product;
create table product(
id number primary key,
name varchar2(100),
price number
);
CREATE SEQUENCE product_seq START WITH 1
INCREMENT BY 1 NOCACHE NOMAXVALUE;
ProductDAO.java
int id 매개변수는 지워줌
우리는 쿼리문을 자바한테 던지는거니까 시퀀스 저렇게 던져도 되겠지?
public int 상품추가(String name, int price) {
String sql = "INSERT INTO product(id, name, price)
VALUES(**product_seq.nextval**,?,?)";
try {
Connection conn = DBConn.디비연결();
PreparedStatement pstmt = conn.prepareStatement(sql);
**// 시퀀스 있는 부분은 지워주고 name 부터 다시 1번**
pstmt.setString(1, name);
pstmt.setInt(2, price);
return pstmt.executeUpdate();
//pstmt.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return -1;
} // void 상품추가
product.jsp
마찬가지로 id 값은 받지 않는다.
<form action="insert.jsp" method="post">
<input type="text" placeholder="name" name="name" /> <br>
<input type="text" placeholder="price" name="price" /> <br>
<button type="submit">등록</button>
</form>