728x90
반응형
SMALL
INSERT문
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
public class Ex01_insert문 {
public static void main(String[] args) {
PreparedStatement psmt = null;
Connection conn = null;
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String db_id = "hr";
String db_pw = "hr";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, db_id, db_pw);
if(conn != null) {
System.out.println("연결 성공");
}
else {
System.out.println("연결 실패");
}
Scanner sc = new Scanner(System.in);
System.out.print("ID : ");
String id = sc.next();
System.out.print("PW : ");
String pw = sc.next();
System.out.print("Name : ");
String name = sc.next();
System.out.print("Age : ");
int age = sc.nextInt();
String sql = "INSERT INTO MEMBER values(? , ? , ? , ?)";
psmt = conn.prepareStatement(sql);
//sql문에 들어가는 값을 세팅
psmt.setString(1, id);
psmt.setString(2, pw);
psmt.setString(3, name);
psmt.setInt(4, age);
int cnt = psmt.executeUpdate();
if(cnt>0) {
System.out.println("insert 성공");
}
else {
System.out.println("insert 실패");
}
}
catch (ClassNotFoundException e) {
System.out.println("동적 오류 발생");
e.printStackTrace();
}
catch (SQLException e) {
System.out.println("SQL문 에러 발생");
e.printStackTrace();
}
finally {
try {
if(psmt != null) {
psmt.close();
}
if(conn != null) {
conn.close();
}
}catch (SQLException e) {
e.printStackTrace();
}
}
//내가 해본 코드
/*try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
Scanner sc = new Scanner(System.in);
//키보드로부터 id/pw/name/age 등을 입력받고
System.out.print("id : ");
String id = sc.next();
System.out.print("pw : ");
String pw = sc.next();
System.out.print("name : ");
String name = sc.next();
System.out.print("age : ");
int age = sc.nextInt();
Connection conn;
conn = DriverManager.getConnection(url, id, pw);
if(conn != null) {
System.out.println("연결 성공");
}
else {
System.out.println("연결 실패");
}
String sql = "INSERT INTO MEMBER values('Mercury','0905',name,age)";
PreparedStatement psmt = conn.prepareStatement(sql);
int cnt = psmt.executeUpdate();
if(cnt>0) {
System.out.println("insert 성공");
}
else {
System.out.println("insert 실패");
}
if(psmt != null) {
psmt.close();
}
if(conn != null) {
conn.close();
}
}catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}*/
}
}
UPDATE문
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
import java.sql.DriverManager;
public class Ex02_update문 {
public static void main(String[] args) {
//ID가 Mars인 사람을 비밀번호 1025로 바꿔서 SQL문을 전송하는 JDBC 구현
PreparedStatement psmt = null;
Connection conn = null;
ResultSet rs = null;
Scanner sc = new Scanner(System.in);
System.out.println("===회원정보 수정===");
System.out.print("ID입력 : ");
String id = sc.next();
System.out.print("PW입력 : ");
String pw = sc.next();
String sql = "UPDATE MEMBER SET pw=? where id = ?";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String db_id="hr";
String db_pw="hr";
conn = DriverManager.getConnection(url, db_id, db_pw);
psmt = conn.prepareStatement(sql);
psmt.setString(1, pw);
psmt.setString(2, id);
int cnt = psmt.executeUpdate();
if(cnt>0) {
System.out.println("수정 성공");
}
else {
System.out.println("수정 실패");
}
sql = "SELECT * FROM MEMBER where ID = ?";
psmt = conn.prepareStatement(sql);
psmt.setString(1, id);
rs = psmt.executeQuery();
while(rs.next()) {
String id2 = rs.getString(1);
String pw2 = rs.getString(2);
String name = rs.getString(3);
int age = rs.getInt(4);
System.out.println(id2+" "+pw2+" "+name+" "+age);
}
}
catch (ClassNotFoundException e) {
System.out.println("동적 오류");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("sql 오류");
e.printStackTrace();
}
finally {
try {
if(psmt != null) {
psmt.close();
}
if(conn != null) {
conn.close();
}
}catch (SQLException e) {
e.printStackTrace();
}
}
/*내가 쓴 코드
PreparedStatement psmt = null;
Connection conn = null;
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String id = "hr";
String pw = "hr";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, id, pw);
if(conn != null) {
System.out.println("연결 성공");
}
else {
System.out.println("연결 실패");
}
String sql = "UPDATE MEMBER SET pw='1025' where id = 'Mars'";
psmt = conn.prepareStatement(sql);
int cnt = psmt.executeUpdate();
if(cnt>0) {
System.out.println("update 성공");
}
else {
System.out.println("update 실패");
}
if(psmt != null) {
psmt.close();
}
if(conn != null) {
conn.close();
}
}
catch (ClassNotFoundException e) {
System.out.println("드라이버 오류");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("sql 오류");
e.printStackTrace();
}
*/
}
}
728x90
반응형
LIST
'스마트인재개발원 > 자바' 카테고리의 다른 글
[자바/DB] JDBC로 회원가입, 로그인, 조회하기 (0) | 2022.09.27 |
---|---|
[자바/DB] JDBC - 메소드 이용하여 구현하기 (0) | 2022.09.27 |
[자바/DB] JDBC (0) | 2022.09.27 |
[객체 배열] 배열에 담아 학생의 점수 합계,평균 구하기 (0) | 2022.09.22 |
[자바]약수 구하기 (0) | 2022.09.19 |