Frog is cry
Lecture10_Practice 본문
package com.goodjobedu.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Test02 {
//연습문제1.
//jdbc를 사용하여 회원들의 정보를 저장할 Acoount 테이블을 생성하는 클래스를 만드세요.
//다음과 같이 항목이 있어야 합니다.
//> 이름
//> 이메일
//> 적립금
//> 번호
//> 가입날짜
//또한, acc_seq라는 시퀀스도 생성하세요.
public static void main(String[] args) {
String id = "myjsp";
String password = "jsppassword";
String url = "jdbc:oracle:thin:@localhost:1521:xe"; // DB 위치
String sql = "CREATE TABLE account( "
+ "name VARCHAR2(20), "
+ "no NUMBER, "
+ "email VARCHAR2(20), "
+ "point NUMBER,"
+ " regdate DATE"
+ ")";
Connection con = null; //final 구문을 실행 시키기 위해 위로 뻄
PreparedStatement ps = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url, id, password);
ps = con.prepareStatement(sql);
ps.execute();
System.out.println("Account 테이블 생성 완료!");
ps = con.prepareStatement("CREATE SEQUENCE acc_seq NOCACHE");
ps.execute();
System.out.println("acc_seq 시퀀스 생성 완료!");
} catch (Exception e) {
e.printStackTrace();
} finally { // 무조건 실행시켜라
try {
if(ps != null) {
ps.close();
}
if(ps != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
package com.goodjobedu.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
//연습문제2.
//JDBC를 사용하여 Account 테이블에 3개의 레코드를 임의로 추가하는 Test03 클래스를 만드세요.
//단, 회원 번호는 acc_seq를 사용하세요.
public class Test03 {
public static void main(String[] args) {
String id = "myjsp";
String password = "jsppassword";
String url = "jdbc:oracle:thin:@localhost:1521:xe"; // DB 위치
Connection con = null;
PreparedStatement ps = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url, id, password); // 통로 객체
ps = con.prepareStatement("INSERT INTO account VALUES( '홍길동', acc_seq.NEXTVAL, 'hong@gmail.com', 2000, SYSDATE )");
ps.execute(); // 커밋이 자동으로 적용됨
ps = con.prepareStatement("INSERT INTO account VALUES( '고길동', acc_seq.NEXTVAL, 'gogo@gmail.com', 1500, SYSDATE )");
ps.execute();
ps = con.prepareStatement("INSERT INTO account VALUES( '김피카츄', acc_seq.NEXTVAL, 'pikapika@gmail.com', 20000, TO_DATE('2018/04/20', 'YYYY/MM/DD'))");
ps.execute();
System.out.println("레코드 추가 완료!");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(ps != null) {
ps.close();
}
if(con != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
package com.goodjobedu.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
public class Test04 {
// 연습문제3.
// JDBC를 사용하여 이름, 이메일을 입력 받아 Account에 정보를 추가하는 Test04 클래스를 만드세요.
// 단, 회원 번호는 acc_seq를 사용하고, 적립금은 100원, 등록일자는 SYSDATE로 지정하세요.
public static void main(String[] args) {
String user = "myjsp";
String password = "jsppassword";
String url = "jdbc:oracle:thin:@localhost:1521:xe";
Connection con = null;
PreparedStatement ps = null;
String name, email;
Scanner sc = new Scanner(System.in);
System.out.println("이름 : ");
name = sc.next();
System.out.println("이메일 :");
email = sc.next();
try {
// 커넥션 준비
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url, user, password);
// 쿼리문 준비
ps = con.prepareStatement("INSERT INTO account VALUES('"+name+"',acc_seq.NEXTVAL,'"+email+"' ,1000 ,SYSDATE)");
// 실행
ps.execute();
System.out.println("레코드 추가 완료!");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(ps != null) {
ps.close();
}
if(con != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
'JSP > 실습' 카테고리의 다른 글
Leture12_ResultSet (0) | 2020.08.05 |
---|---|
Leture11_PreparedStatement (0) | 2020.08.05 |
Lecture09_Connection 연동 (0) | 2020.08.04 |
Lecure08_학생 테이블 생성 (0) | 2020.08.03 |
Lecture07_Sequence (0) | 2020.08.03 |
Comments