728x90
PropertiesTest
package kr.or.ddit.basic;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class PropertiesTest {
public static void main(String[] args) {
// 읽어온 정보를 저장할 Properties객체 생성
Properties prop = new Properties();
// 읽어올 properties파일명을 지정할 File객체 생성
File f = new File("res/kr/or/ddit/config/dbinfo.properties");
FileInputStream fin = null;
try {
//파일 내용을 읽어올 입력 스트림 객체 생성
fin = new FileInputStream(f);
//입력 스트림을 이용하여 파일 내용을 읽어와 Properties객체에 저장하기
prop.load(fin); //==> 파일 내용을 읽어와 key값과 value값을 분휴한 후 Properties객체에 추가해 준다.
//읽어온 자료 출력해 보기....
System.out.println("driver : " + prop.getProperty("driver"));
System.out.println("url : " + prop.getProperty("url"));
System.out.println("user : " + prop.getProperty("user"));
System.out.println("pass : " + prop.getProperty("pass"));
} catch (Exception e) {
System.out.println("입출력 오류....");
e.printStackTrace();
}finally {
if(fin != null) try {fin.close();}catch(IOException e) {}
}
}
}
ResourceBundleTest
package kr.or.ddit.basic;
import java.util.ResourceBundle;
public class ResourceBundleTest {
/*
ResourceBundleT객체 ==>파일의 확장자가 'properties'인 파일의 내용을 읽어와서
key값과 value값을 구분해서 정보를 갖고 잇는 객체
*/
public static void main(String[] args) {
// ResourceBundle객체를 이용하여 properties파일 읽어오기
// ResourceBundle객체 생성하기
// ==>객체를 생성할 때 읽어올 properties파일의 정보를 지정해 준다
// 그런데 이 파일 정보를 지정할 때 '패키지명.파일명'까지만 지정하고 확장자는 지정하지 않는다.
// (이유 : 확장자는 항상 'properties'이기 떄문에...)
ResourceBundle bundle = ResourceBundle.getBundle("kr.or.ddit.config.dbinfo");
// 읽어온 내용 출력하기
System.out.println("driver : " + bundle.getString("driver"));
System.out.println("url : " + bundle.getString("url"));
System.out.println("user : " + bundle.getString("user"));
System.out.println("pass : " + bundle.getString("pass"));
}
}
jdbcTest01
package kr.or.ddit.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//JDBC(Java DataBase Connectivty)라이브러리를 이용한 DB자료 처리하기...
public class jdbcTest01 {
/*
-JDBC를 이용한 DB자료 처리 과정
1. 드라이버 로딩 ==> 라이브러리를 사용할 수 있게 메모리에 읽어 들이는 과정
Class.forNmae("oreacle.jdbc.driver.OracleDriver");
(JDBC API버전 4이상에서는 getConnection()메서드에서 자동적으로 로딩해 주기 때문에
생략할 수 있다.)
2. DB에 접속하기 ==> 접속이 완료되면 Connection객체가 반환된다.
DriverManager.getConnection()메서드를 이용한다.
3. 질의 => SQL문장을 DB서버로 보내서 결과를 얻어온다.
(Statement객체 또는 PreparedStatement객체를 이용하여 작업한다.)
4. 결과 처리 ==> 질의 결과를 받아서 원하는 작업을 수행한다.
1) SQL문이 'select'문일 경우에는 select한 결과가 ResultSet객체에 저장되어 반환한다.
2) SQL문이 'select 문이 아닐 경우 (insert, update, delete문 등)'
처리된 결과가 '정수값'으로 반환된다. (이 정수값은 보통 실행에 성공한 레코드 수를 말한다.)
5. 사용한 자원 반납하기 ==> close()메서드 이용
*/
public static void main(String[] args) {
// DB작업에 필요한 변수 선언
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 1.드라이버 로딩
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2. DB연결 ==> Connection객체 생성
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe",
"pc21" ,"java");
// 3.질의
// 3-1. SQL문 작성
// String sql = "select * from lprod";
String sql = "select lprod_id, lprod_gu, lprod_nm nm from lprod";
// 3-2. Statement객체 생성 ==> SQL문을 DB에 전달하고 처리한 결과를 얻어오는 객체
// ==> Connection객체를 이용해서 생성한다.
stmt = conn.createStatement();
// 3-3. SQL문을 DB서버로보내서 결과를 얻어온다.
// ==> 지금은 실행할 SQL문이 'select'문이기 때문에 결과가 ResultSet객체에 저장되어 반환된다.)
rs = stmt.executeQuery(sql);
// 4. 결과 처리하기 ==> 가져온 데이터를 한 레코드씩 화면에 출력하기...
// ResultSet객체에 저장된 데이터를 차례로 꺼내오려면 반복문과 next()메서드를 이용한다.
System.out.println(" == 쿼리문 처리 결과 ==");
//re.next() ==> ResultSet객체의 데이터를 가리키는 포인터를 다음번쨰 레코드 위치로 이동시키고
// 그 곳에 데이터가 있으면 true, 없으면 false를 반환한다.
while(rs.next()) {
// 포인터가 가리키는 곳의 자료를 가져오는 방법
// 형식 1) rs.get자료형이름("컬럼명 또는 컬럼의 alias명")
// 형식 2) rs.get(컬럼번호) ==> 컬럼번호는 1부터 시작한다.
System.out.println("LPROD_ID : " + rs.getInt("lprod_id")); //컬럼명으로
System.out.println("LPROD_GU : " + rs.getString(2)); //컬럼번호로
System.out.println("LPROD_NM : " + rs.getString("nm")); //컬럼의 Alias명으로
System.out.println("---------------------------------------");
}
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
// 5.자원 반납
if(rs != null) try{rs.close();}catch(SQLException a) {}
if(stmt != null) try{stmt.close();}catch(SQLException a) {}
if(conn != null) try{conn.close();}catch(SQLException a) {}
}
}
}
jdbcTest02
package kr.or.ddit.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
// 문제1) 사용자로부터 Lprod_id값을 입력 받아 입력한 값보다 Lprod_id가 큰 자료들을 출력하시요.
public class jdbcTest02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","pc21","java");
System.out.println("사용자 아이디를 입력하세요");
String sql = "select *from lprod where lprod_id > " + scanner.nextInt();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
System.out.println("== 입력한 id보다 큰 자료 ==");
while(rs.next()) {
System.out.println(rs.getInt("lprod_id")); //컬럼명으로
System.out.println(rs.getString(2)); //컬럼번호로
System.out.println(rs.getString("lprod_nm")); //컬럼의 Alias명으로
System.out.println("--------------------------");
}
} catch (SQLException e) {
// TODO: handle exception
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
//변수를 밖에 선언하는 이유는 파이널에서 닫을때 트라이 안에있으면 가져다 쓸수 없기떄문
}finally {
if(rs != null) try {rs.close();}catch(SQLException e) {}
if(stmt != null) try {stmt.close();}catch(SQLException e) {}
if(conn != null) try {conn.close();}catch(SQLException e) {}
}
}
}
jdbcTest03
package kr.or.ddit.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
// 문제) lprod_id값을 2개 입력 받아서 두 값중 작은 값부터 큰 값사이의 자료들을 출력하시오.
// (작은값과 큰 값은 포함된다.)
public class jdbcTest03 {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
Scanner scanner = new Scanner(System.in);
System.out.println("Lprod_id값 입력 >>");
int num = scanner.nextInt();
System.out.println("Lprod_id값 입력 >>");
int num2 = scanner.nextInt();
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","pc21","java");
String sql = "select *from lprod where lprod_id>=" +num + "and lprod_id>=" +num2 ;
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
System.out.println("=======================");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
if(rs != null) try{rs.close();}catch(SQLException e) {}
if(stmt != null) try{stmt.close();}catch(SQLException e) {}
if(conn != null) try{conn.close();}catch(SQLException e) {}
}
}
}
jdbcTest04
package kr.or.ddit.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import oracle.net.aso.p;
public class jdbcTest04 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Connection conn = null;
Statement stmt = null;
PreparedStatement pstmt = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","pc21","java");
System.out.println("계좌번호 정보 추가하기....");
System.out.println("계좌번호 >>");
String bankNo = scan.next();
System.out.println("은행이름 >>");
String bankName = scan.next();
System.out.println("예금주명");
String userName = scan.next();
// insert into bankinfo (bank_no,banl_name, bank_user_name, bank_date)
// values('111-2222-33-4444','하나은행','홍길동',sysdate);
/*
// Statement객체를 이용하여 데이터 추가하기
String sql = "insert into bankinfo (bank_no,bank_name, bank_user_name, bank_date)"
+"values('"+bankNo + "', '"+bankName + "', '"
+userName+ "',sysdate)";
System.out.println("sql ==>" + sql);
stmt = conn.createStatement();
//'select문'을 실행할 때는 executeQuery() 메소드를 사용하고,
//'insert문' update문, delete문'등 과 같이 'select문'이 아닌 SQL문을 실행할 때는
// executeUpdate()메서드를 사용한다.
// executeUpdate()메서드의 반환값은 작업에 성공한 '레코그 수' 이다.
int cnt = stmt.executeUpdate(sql);
*/
//-------------------------------------------------
// PreparedStatement객체를 이용하여 처리하기
// SQL문을 작성할 떄 SQL문에 데이터가 들어갈 자리를 물음표(?)로 표시하여 작성한다.
String sql = "insert into bankinfo (bank_no,bank_name, bank_user_name, bank_date)"
+"values(?,?,?,sysdate)";
// PreparedStatement객체 생성 ==> 이 때 사용할 sql문을 인수값으로 넘겨준다.
pstmt = conn.prepareStatement(sql);
// SQL문의 물음표(?)자리에 들어갈 데이터를 셋팅한다.
// 형식) pstmt.set자료형 이름(물음표순번, 셋팅할데이터);
pstmt.setString(1, bankNo);
pstmt.setString(2, bankName);
pstmt.setString(3, userName);
//데이터 셋팅이 완료되면 SQL문을 실행한다.
int cnt = pstmt.executeUpdate();
System.out.println("반환값 : " + cnt);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(stmt != null) try{stmt.close();}catch(SQLException e) {}
if(pstmt != null) try{pstmt.close();}catch(SQLException e) {}
if(conn != null) try{conn.close();}catch(SQLException e) {}
}
}
}
jdbcTest05
package kr.or.ddit.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import kr.or.ddit.utill.DBUtil;
/*
LPROD테이블에 새로운 데이터 추가하기
lprod_gu와 lprod_nm값은 직접 입력 받아 처리하고,
lprod_id는 현재의 lprod_id값 중에서 제일 큰 값보다 1크게 한다.
입력 받은 lprod_gu가 이미 등록되어 있으면 다시 입력 받아서 처리한다.
*/
public class jdbcTest05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// Class.forName("oracle.jdbc.driver.OracleDriver");
//
// conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "pc21", "java");
//
conn = DBUtil.getConnection();
// Lprod_id는 현재의 Lprod_id중에서 제일 큰 값보다 1 크게 한다.
// String sql = "select nvl(max(lprod_id), 0) from lprod"; alias(별명)이 없을때
String sql = "select nvl(max(lprod_id), 0) maxid from lprod";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int maxNum = 0;
while(rs.next()) { // select문을 처리한 결과가 1개의 레코드일 경우에는 while문 대신 if문을 사용해도 된다.
//maxNum = rs.getInt(1); //컬럼 번호
//maxNum = rs.getInt("nvl(max(lprod_id), 0)"); //컬럼의 alias가 없을 때느 '식 내용'이 컬럼명 역할을 한다.
maxNum = rs.getInt("maxid"); //컬럼의 alias 이용
}
maxNum++; // 값 증가
//----------------------------------------------------
// 입력 받은 Lprod_id가 이미 등록되어 있으면 다시 입력 받아서 처리한다.
String gu; //Lprod_gu(상품분류번호)가 저장될 변수 선언
int count = 0; //입력한 상품분류코드가 DB에 저장된 개수를 저장할 변수 선언
do {
System.out.println("상품 분류 코드(LPROD_GU) 입력>> ");
gu = scanner.next();
String sq12 = "select count(*) cnt from lprod where lprod_gu = ?";
pstmt = conn.prepareStatement(sq12);
pstmt.setString(1, gu);
rs = pstmt.executeQuery();
if(rs.next()) {
count = rs.getInt("cnt");
}
if(count>0) {
System.out.println("입력한 상품 분류 코드" + gu + "는 이미 등록된 코드입니다.");
System.out.println("다시 입력하세요...");
}
}while(count>0);
// 상품 분류명(LPROD_NM) 입력 받아 DB에 insert하기
System.out.println("상품 분류명(LPROD_NM) 입력 >>");
String nm = scanner.next();
String sql3 = "insert into lprod(lprod_id, lprod_gu, lprod_nm)" + "values(?,?,?)";
pstmt = conn.prepareStatement(sql3);
pstmt.setInt(1, maxNum);;
pstmt.setString(2, gu);
pstmt.setString(3, nm);
int cnt = pstmt.executeUpdate();
if(cnt>0) {
System.out.println("등록 성공!!");
}else {
System.out.println("등록 실패~~~");
}
} catch (SQLException e) {
e.printStackTrace();
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
} finally {
if(rs != null) try {rs.close();} catch (SQLException e2) {}
if(pstmt != null) try {pstmt.close();} catch (SQLException e2) {}
if(conn != null) try {conn.close();} catch (SQLException e2) {}
}
}
}
jdbcTest05
package kr.or.ddit.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import kr.or.ddit.utill.DBUtil;
/*
LPROD테이블에 새로운 데이터 추가하기
lprod_gu와 lprod_nm값은 직접 입력 받아 처리하고,
lprod_id는 현재의 lprod_id값 중에서 제일 큰 값보다 1크게 한다.
입력 받은 lprod_gu가 이미 등록되어 있으면 다시 입력 받아서 처리한다.
*/
public class jdbcTest05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// Class.forName("oracle.jdbc.driver.OracleDriver");
//
// conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "pc21", "java");
//
conn = DBUtil.getConnection();
// Lprod_id는 현재의 Lprod_id중에서 제일 큰 값보다 1 크게 한다.
// String sql = "select nvl(max(lprod_id), 0) from lprod"; alias(별명)이 없을때
String sql = "select nvl(max(lprod_id), 0) maxid from lprod";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int maxNum = 0;
while(rs.next()) { // select문을 처리한 결과가 1개의 레코드일 경우에는 while문 대신 if문을 사용해도 된다.
//maxNum = rs.getInt(1); //컬럼 번호
//maxNum = rs.getInt("nvl(max(lprod_id), 0)"); //컬럼의 alias가 없을 때느 '식 내용'이 컬럼명 역할을 한다.
maxNum = rs.getInt("maxid"); //컬럼의 alias 이용
}
maxNum++; // 값 증가
//----------------------------------------------------
// 입력 받은 Lprod_id가 이미 등록되어 있으면 다시 입력 받아서 처리한다.
String gu; //Lprod_gu(상품분류번호)가 저장될 변수 선언
int count = 0; //입력한 상품분류코드가 DB에 저장된 개수를 저장할 변수 선언
do {
System.out.println("상품 분류 코드(LPROD_GU) 입력>> ");
gu = scanner.next();
String sq12 = "select count(*) cnt from lprod where lprod_gu = ?";
pstmt = conn.prepareStatement(sq12);
pstmt.setString(1, gu);
rs = pstmt.executeQuery();
if(rs.next()) {
count = rs.getInt("cnt");
}
if(count>0) {
System.out.println("입력한 상품 분류 코드" + gu + "는 이미 등록된 코드입니다.");
System.out.println("다시 입력하세요...");
}
}while(count>0);
// 상품 분류명(LPROD_NM) 입력 받아 DB에 insert하기
System.out.println("상품 분류명(LPROD_NM) 입력 >>");
String nm = scanner.next();
String sql3 = "insert into lprod(lprod_id, lprod_gu, lprod_nm)" + "values(?,?,?)";
pstmt = conn.prepareStatement(sql3);
pstmt.setInt(1, maxNum);;
pstmt.setString(2, gu);
pstmt.setString(3, nm);
int cnt = pstmt.executeUpdate();
if(cnt>0) {
System.out.println("등록 성공!!");
}else {
System.out.println("등록 실패~~~");
}
} catch (SQLException e) {
e.printStackTrace();
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
} finally {
if(rs != null) try {rs.close();} catch (SQLException e2) {}
if(pstmt != null) try {pstmt.close();} catch (SQLException e2) {}
if(conn != null) try {conn.close();} catch (SQLException e2) {}
}
}
}
jdbcTest06
package kr.or.ddit.basic;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
import kr.or.ddit.utill.DBUtil;
/*
회원을 관리하는 프로그램을 작성하시오... (MYMEMBER테이블 이용)
아래 메뉴의 기능을 모두 구현하시오. (CRUD 기능 구현하기)
메뉴예시)
----------------------------
1. 자료 추가 ----> insert (C)
2. 자료 삭제 ----> delete (D)
3. 자료 수정 ----> update (U)
4. 전체 자료 출력 ----> select (R)
0. 작업 끝.
----------------------------
조건)
1) '자료 추가' 메뉴에서 '회원ID'는 중복되지 않는다. (중복되면 다시 입력받는다.)
2) 자료 삭제는 '회원ID' 입력 받아서 처리한다.
3) 자료 수정에서 '회원ID'는 변경되지 않는다.
*/
public class jdbcTest06 {
Scanner scanner = new Scanner(System.in);
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
public static void main(String[] args) {
jdbcTest06 jdbcTest06 = new jdbcTest06();
try {
jdbcTest06.start();
} catch (SQLException e1) {
e1.printStackTrace();
}finally {
if(jdbcTest06.rs != null) try {jdbcTest06.rs.close();} catch (SQLException e2) {}
if(jdbcTest06.pstmt != null) try {jdbcTest06.pstmt.close();} catch (SQLException e2) {}
if(jdbcTest06.conn != null) try {jdbcTest06.conn.close();} catch (SQLException e2) {}
}
}
public void start() throws SQLException {
while(true) {
int num = choice();
switch (num) {
case 1:
insert();
break;
case 2:
delete();
break;
case 3:
update();
break;
case 4:
select();
break;
case 0:
System.out.println("작업을 종료합니다.");
System.exit(0);
break;
default:
break;
}
}
}
public void select() throws SQLException {
conn = DBUtil.getConnection();
String sql = "select * from mymember";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()) {
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
System.out.println(rs.getString(4));
System.out.println(rs.getString(5));
System.out.println("-------------------------");
}
if(rs != null) try {rs.close();} catch (SQLException e2) {}
if(pstmt != null) try {pstmt.close();} catch (SQLException e2) {}
if(conn != null) try {conn.close();} catch (SQLException e2) {}
}
public void update() throws SQLException {
conn = DBUtil.getConnection();
String id = null;
while(true) {
System.out.println("-----------수정 메뉴-------------");
System.out.println("수정할 고객의 아이디를 입력하세요.");
id = scanner.nextLine();
String sql2 = "select mem_id from mymember where mem_id = '" +id +"'";
pstmt = conn.prepareStatement(sql2);
rs = pstmt.executeQuery();
String name = "";
if(rs.next()) {
name = rs.getString(1);
}
if(name.equals("")) {
System.out.println("없는 아이디 입니다 다시 입력하세요");
}else {
break;
}
}
System.out.println("수정할 비밀번호 입력");
String pw = scanner.nextLine();
System.out.println("수정할 이름 입력");
String name2 = scanner.nextLine();
System.out.println("수정할 전화번호 입력");
String tel = scanner.nextLine();
System.out.println("수정할 주소 입력");
String add = scanner.nextLine();
String sql = "UPDATE mymember "
+ "SET mem_pass = ?, mem_name = ?, mem_tel = ?,mem_addr= ?"
+ " WHERE mem_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, pw);
pstmt.setString(2, name2);
pstmt.setString(3, tel);
pstmt.setString(4, add);
pstmt.setString(5, id);
if(rs != null) try {rs.close();} catch (SQLException e2) {}
if(pstmt != null) try {pstmt.close();} catch (SQLException e2) {}
if(conn != null) try {conn.close();} catch (SQLException e2) {}
}
public void delete() throws SQLException {
conn = DBUtil.getConnection();
String id =null;
System.out.println("------삭제 메뉴------------");
while(true) {
System.out.println("삭제할 고객의 아이디를 입력하세요.");
id = scanner.nextLine();
String sql2 = "select mem_id from mymember where mem_id = '" +id +"'";
pstmt = conn.prepareStatement(sql2);
rs = pstmt.executeQuery();
String name = "";
if(rs.next()) {
name = rs.getString(1);
}
if(name.equals("")) {
System.out.println("없는 아이디 입니다 다시 입력하세요");
}else {
break;
}
}
String sql = "DELETE FROM mymember WHERE mem_id=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, id);
int cnt = pstmt.executeUpdate();
if(cnt>0) {
System.out.println("아이디 삭제 성공");
}else {
System.out.println("삭제 실패~~");
}
if(rs != null) try {rs.close();} catch (SQLException e2) {}
if(pstmt != null) try {pstmt.close();} catch (SQLException e2) {}
if(conn != null) try {conn.close();} catch (SQLException e2) {}
}
public void insert() throws SQLException {
conn = DBUtil.getConnection();
System.out.println("----------자료추가메뉴-----------");
boolean n = true;
String id = null;
while(n) {
System.out.println("아이디를 입력하세요");
id = scanner.nextLine();
String sql = "select mem_id from mymember where mem_id = '" +id+ "'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
String name2 = "";
if(rs.next()) {
name2 = rs.getString(1);
}
if(!name2.equals("")){
System.out.println("중복된 아이디입니다 다시 입력하세요");
System.out.println();
}else {
n = false;
}
}
System.out.println("비밀번호를 입력하세요");
String pw = scanner.nextLine();
System.out.println("이름을 입력하세요");
String name = scanner.nextLine();
System.out.println("전화번호를 입력하세요");
String tel = scanner.nextLine();
System.out.println("주소를 입력하세요");
String add = scanner.nextLine();
String sql2 = "insert into mymember (mem_id, mem_pass, mem_name, mem_tel, mem_addr)\r\n"
+ " values(?,?,?,?,?)";
pstmt = conn.prepareStatement(sql2);
pstmt.setString(1, id);
pstmt.setString(2, pw);
pstmt.setString(3, name);
pstmt.setString(4, tel);
pstmt.setString(5, add);
int cnt = pstmt.executeUpdate();
if(cnt>0) {
System.out.println("등록 성공!!");
}else {
System.out.println("등록실패~~~~");
}
if(rs != null) try {rs.close();} catch (SQLException e2) {}
if(pstmt != null) try {pstmt.close();} catch (SQLException e2) {}
if(conn != null) try {conn.close();} catch (SQLException e2) {}
}
public int choice() {
System.out.println(" ----------------------------");
System.out.println(" 1. 자료 추가 ");
System.out.println(" 2. 자료 삭제 ");
System.out.println(" 3. 자료 수정 ");
System.out.println(" 4. 전체 자료 출력 ");
System.out.println(" 0. 작업 끝. ");
System.out.println(" ----------------------------");
return Integer.parseInt(scanner.nextLine());
}
}
'JAVA > (MVC패턴)JDBCTest' 카테고리의 다른 글
자바(JDBC) mvc패턴 config패키지 만들기 (0) | 2023.07.08 |
---|---|
자바(JDBC) mvc패턴05.JDBC Controller패키지 만들기 (0) | 2023.07.08 |
자바(mvc패턴) 싱글톤 객체 만들기 (0) | 2023.07.08 |
자바(JDBC) mvc패턴04.JDBC Service패키지 만들기 (0) | 2023.07.08 |
자바(JDBC) mvc패턴03.JDBC DAO패키지 만들기 (0) | 2023.07.08 |