티스토리 뷰
반응형
SMALL
DAO Class 안에 Insert Method 작성.
Insert Query
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 |
package my.student;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class StudentDAO {
private Connection con;
private PreparedStatement ps;
private ResultSet rs;
String url, user, pass;
//생성자
public StudentDAO() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (Exception e) {
System.out.println(e.getMessage());
}
//Oracle ID 및 PASSWORD 와 경로
url = "jdbc:oracle:thin:@localhost:1521:xe";
user = "java07";
pass = "java07";
}
//Insert
public int insertStudent(String id, String name, String cname) throws SQLException {
String sql = "insert into jsp_student values(?, ?, ?)";
try {
con = DriverManager.getConnection(url, user, pass); //DriverManager 를 이용하여 DB에 연결
ps = con.prepareStatement(sql); // Query 문 전송.
// 동적 Query문으로 Coulmn Data 전송.
ps.setString(1, id);
ps.setString(2, name);
ps.setString(3, cname);
int res = ps.executeUpdate(); //결과 Feedback
return res;
} finally { //try절이 끝나면 다른 Thread 를 이용하여 실행된다.
if (ps != null) ps.close();
if (con != null) con.close();
}
}
} |
cs |
Insert Query 문
sql = "insert into [Table 명] values([Column 명 1,2,3....]);
쿼리 방식에 있어서..
정적 쿼리 방식 : 변수가 바뀔 때마다 새로운 SQL 을 생성하여 DB쿼리를 수행.
동적 쿼리 방식 : 변수가 바뀔 때마다 파싱을하지 않고 변수 바인딩 과정을 통해 DB 쿼리를 수행한다.
현재 적용되어 있는 쿼리는 동적 쿼리문이다.
정적 쿼리문에 경우에는
String sql = "insert into jsp_student values('1001', '홍길동', '1반);
식으로 정의된다.
정적쿼리와 동적쿼리는 각각의 장단점이 있지만 나는 동적 쿼리문을 사용했다.
Delete Query
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 |
package my.student;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class StudentDAO {
private Connection con;
private PreparedStatement ps;
private ResultSet rs;
String url, user, pass;
//생성자
public StudentDAO() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (Exception e) {
System.out.println(e.getMessage());
}
//Oracle ID 및 PASSWORD 와 경로
url = "jdbc:oracle:thin:@localhost:1521:xe";
user = "java07";
pass = "java07";
}
//Delete
public int deleteStudent(String id) throws SQLException{
String sql = "delete from jsp_student where id=?";
try{
con = DriverManager.getConnection(url, user, pass);
ps = con.prepareStatement(sql);
ps.setString(1, id);
int res = ps.executeUpdate();
return res;
}finally { //try절이 끝나면 다른 Thread 를 이용하여 실행된다.
if (ps != null) ps.close();
if (con != null) con.close();
}
}
} |
cs |
Delete Query문
sql = "delete from [Table 이름] where [지우고 싶은 Column 명] = [해당이름]";
Query 문에서 Insert 와 Delete 문의 피드백 값은 Int 형으로 반환된다.
제대로 수행했으면 1이상의 값이 나오고,
제대로 수행하지 않았으면 0의 값이 반환된다.
반응형
LIST
'JSP' 카테고리의 다른 글
[JSP #6 ] script 를 이용하여 새로운 창 띄우기.(window.open) & 회원가입 유무 확인. (0) | 2017.09.13 |
---|---|
[JSP #5 ] 간단한 CSS 입히기. (0) | 2017.09.13 |
[JSP #4 ] DAO작성 Select Query (0) | 2017.09.11 |
[JSP #2 ] 작업을 분리하기 위한 작업 - DTO & DAO(Connection) (0) | 2017.09.11 |
[JSP #1 ] 홈페이지 첫 화면 구성 (0) | 2017.09.11 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 쏘렌토 하이브리드 시그니처
- 안드로이드 폴드 대응
- flutter web
- android widget 만들기
- 폰과 워치 페어링
- Android
- aos img url bitmap
- 랜덤컬러
- 갤럭시 워치
- widget glide
- 가중치랜덤
- Foldable Event
- 풀배열 키보드
- 쏘렌토 하이브리드
- widget 만들기
- 프래그먼트 데이터 저장
- widget 이미지 로딩
- widget onreceive
- Fragment data
- wear os
- 웨어러블
- 역시 키크론이네
- 폴더블 이벤트 받기
- Dot indicator
- 맥 전용
- widget onupdate
- 안드로이드 플립 대응
- 폴더블 상태 유지
- Android Wear Os
- RandomColor
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함