Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- CSTS 폭포수 모델
- 테스트 자동화
- 피보나치 예제
- Katalon Recorder 사용법
- 피보나치함수 예제
- git 연동
- 톰캣 실시간 로그
- js 자동완성
- 한국투자증권 해외주식 양도세
- katalon 비교
- 재귀 예제
- bfs 미로탐색 java
- javascript 자동완성
- 재귀함수 예제
- katalon 자동화
- 홈택스 해외주식 양도세
- 피보나치함수
- katalon xpath
- tomcat log
- 주식 양도세 신고방법
- 해외증권 양도세 한국투자증권
- 최대공약수 예제
- katalon
- katalon 사용법
- 해외주식 양도세 신고
- 국세청 해외주식 양도세 신고방식
- 한국투자증권 양도세 신고
- java.sql.SQLSyntaxErrorException
- recursion example
- oracle group by
Archives
- Today
- Total
엄지월드
Statement를 활용한 insert, select, delete, update 본문
import java.sql.*;
public class ex {
public static void main(String[] args) {
getConnection();
int menu = 0;
while (menu != 5) {
System.out.print("\n\n **** student table management **** ");
System.out.print("\n\n 1) insert 2) select 3) delete 4) update 5) end");
System.out.print("\n\n o Choose what to do > ");
menu = SkScanner.getInt();
if (menu==1) doInsert();
else if (menu==2) doSelect();
else if (menu==3) doDelete();
else if (menu==4) doUpdate();
}
close();
}
// 학생정보를 입력하여 학생 투플을 삭제하는 insert 메뉴 처리 메소드
public static void doInsert() {
System.out.println("\n ** student insertion **");
System.out.print(" o sno > ");
int sno = SkScanner.getInt();
System.out.print(" o sname > ");
String sname = SkScanner.getString();
System.out.print(" o year > ");
int year = SkScanner.getInt();
System.out.print(" o dept > ");
String dept = SkScanner.getString();
executeInsert(sno, sname, year, dept);
}
// select 메뉴 처리 메소드: DB에서 검색하는 메소드인 executeSelect()만 호출함
// 다른 메뉴 처리 메소드과 밸랜스를 맞추기 위해 필요한 메소드임
public static void doSelect() {
executeSelect();
}
// 학번을 입력받아 입력된 학번의 학생 투플을 삭제하는 메소드
public static void doDelete() {
System.out.print(" o sno > ");
int sno = SkScanner.getInt();
executeDelete(sno);
}
public static void doUpdate() {
System.out.print(" o sno > ");
int sno = SkScanner.getInt();
System.out.print(" o change year > ");
int year =SkScanner.getInt();
executeStuddentUpdate(sno, year);
}
//
// JDBC 프로그래밍과 관련된 멤버변수(필드)와 메소드들
//
static Connection con = null;
static Statement stmt = null;
static ResultSet rs= null ;
public static void getConnection() {
String database = "university";
String user_name = "root";
String password = "1234";
// 드라이버 로딩
try {
Object o = Class.forName("org.gjt.mm.mysql.Driver");
} catch ( java.lang.ClassNotFoundException e ) {
System.err.println("Driver load 에러: " + e.getMessage() );
e.printStackTrace();
}
try {
// 연결하기
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/" + database,
user_name, password );
} catch( SQLException ex ) {
System.err.println("conn 에러:" + ex.getMessage() );
ex.printStackTrace();
}
}
// executeInsert(): 학생 투플을 삽입하는 메소드, 필요한 정보는 매개변수로 전달됨
public static void executeInsert(int sno, String sname, int year, String dept) { // insert부분
System.out.println("\n * Inserting a student ... **");
try {
// Statement 객체 생성
stmt = con.createStatement();
// 주어진 학생정보로 삽입 SQL 문 작성: values(...)에서 애트리뷰트 값이 문자열인 경우 양쪽에 '를 반드시 붙여야 함
String sql = "insert into student values("+sno+", '"+sname+"', "+year+", '"+dept+"');";
System.out.println(" * sql = "+ sql); // 실제 수행되는 SQL 문을 수행한 후 확인하기 바람
int cnt = stmt.executeUpdate(sql); // 쿼리를 실행하고 성공한 인덱스 반환
System.out.println(" * " + cnt+" 튜플이 삽입됨\n") ;
} catch( SQLException ex ) {
System.err.println(" ??? SQL문 exec error: " + ex.getMessage() );
}
}
// 매개변수로 학번이 주어지면 그 학번의 학생 투플을 삭제하는 메소드
public static void executeDelete(int sno ) { // delete 부분
System.out.println("\n * Deleting a student tuple ...\n");
try {
String sql = "delete from student where sno = "+sno;
stmt = con.createStatement();
int cnt = stmt.executeUpdate(sql); // 쿼리를 실행하고 성공한 인덱스 반환
System.out.println(" * sql = "+ sql); // 실제 수행되는 SQL 문을 수행한 후 확인하기 바람
System.out.println("영향을 받은 튜플 수 "+cnt);
} catch( SQLException ex ) {
System.err.println(" ??? SQL문 exec error: " + ex.getMessage() );
}
}
// 매개변수로 학번과 학년이 주어지면 그 학번의 학년을 주어진 학년으로 변경하는 메소드
public static void executeStuddentUpdate(int sno, int year) { // update 부분
System.out.println("\n * Updating student tuple ...\n");
try {
String sql = "update student set year="+year+" where sno = "+sno;
stmt = con.createStatement();
int cnt = stmt.executeUpdate(sql); // 쿼리를 실행하고 성공한 인덱스 반환
System.out.println(" * sql = "+ sql); // 실제 수행되는 SQL 문을 수행한 후 확인하기 바람
System.out.println("영향을 받은 튜플 수 "+cnt);
} catch(Exception ex ) {
System.err.println(" ??? SQL문 exec error: " + ex.getMessage() );
}
}
// 모든 학생을 검색하는 메소드
public static void executeSelect() { // select 부분
System.out.println("\n\n ** Student table **\n");
try {
// Statement 객체 생성
stmt = con.createStatement();
rs = stmt.executeQuery("select * from student;"); // 쿼리를 실행
// 결과를 출력한다.
while( rs.next() ) { // 결과 값 반환
System.out.println( " * sno: " + rs.getInt("sno")
+ " " + rs.getString(2)
+ " dept : " + rs.getString("dept")
+ " year : " + rs.getInt("year") );
}
} catch( SQLException ex ) {
System.err.println("SQL문 결과출력 에러:" + ex.getMessage() );
}
}
public static void close() {
try {
// 연결을 닫는다.
if( stmt != null ) stmt.close();
if( con != null ) con.close();
} catch (SQLException ex ) {};
System.out.print("Good bye!!!");
}
}
'java > Spring' 카테고리의 다른 글
onclick confirm설정하는법 (2) | 2017.05.06 |
---|---|
MySQL Date형식 표시 (java.util.Date) (0) | 2017.05.06 |
Spring과 Mysql 연동하기 (0) | 2017.05.05 |
Statement를 이용한 튜플 삽입 (0) | 2017.04.26 |
PreparedStatement를 이용한 튜플 삽입 (0) | 2017.04.26 |
Comments