일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정처기필기합격 #정처기합격후기
- 자바 #웹자바 #webJava #java #코딩 #코딩초보 #ojdbc #서블릿 #자바서블릿 #javaServelet #servelet #httpServlet
- 어노테이션 #@WebServlet #WebServlet #
- 방통대 #방송통신대학교 #컴퓨터과학 #컴퓨터과학과 #컴과 #방통대컴퓨터과학과 #방통대컴과 #방통대파이썬 #방통대C #방통대자바
- 자바 #웹자바 #JAVA #WEB #WEBJAVA #WEBPROGRAMMING #웹 #웹프로그래밍 #코딩 #CODING #모델1 #모델2 #모델1방식 #모델2방식
- Init-param #context-param #
- cos.jar #cos드라이버 #파일업로드드라이버 #루피는귀여워 #마이바티스 #MyBatis #마이바티스sql #마이바티스DB #마이바티스jsp #마이바티스이클립스 #mapper #config.xml #마이바티스다운로드
- tern다운로드 #메이븐다운로드 #maven #스프링라이브러리 #자바라이브러리 #톰캣설정 #WAS #웹어플리케이션서버
- jsp #게시판만들기 #자바로게시판만들기 #웹테스트 #JNDI #myora #Oracle #오라클 #DAO #DTO #아파치톰캣 #웹자바셋팅 #모델1 #모델1방식 #모델1방식웹프로그래밍 #웹프로그래밍
- View #
- 기말고사 #방통대기말고사 #방통대후기 #방통대기말고사후기 #방통대2023년1학기 #방통대1학기 #방통대C프로그래밍 #방통대장학금 #방통대영어회화1
- 정처기3회 #정보처리기사2023
- ORACLE #TIGER #SCOTT #SCOTT계정 #오라클학습계정 #프로그래밍 #SQL #SQLORACLE #오라클 #오라클연습 #오라클연습계정 #오라클연습문제 #WHERE절 #오라클조건절
- java #array #자바 #배열 #프로그래밍 #코딩 #자바프로그래밍
- 갤러리제작 #갤러리만들기 #jsp갤러리 #jsp게시판 #jsp프로그래밍 #jsp웹프로그래밍 #jsp웹 #jsp모델1방식 #사진업로드 #jsp사진업로드 #jdbc6 #jdbc드라이버다운 #jdbc드라이버무료다운
- sql #오라클 #불리언형 #boolean #webjava #java #jsp #Mybatis #마이바티스 #마이바티스환경설정 #모델1 #모델1프로그래밍 #Batis #마이바티스다운로드 #web설정 #웹프로그래밍 #게시판 #게시판제작 #게시판만
- 서블릿선언 #서블릿선언방법 #
- 마이바티스환경설정
- 서블릿 #자바모델1 #자바모델2 #mvc #mvc패턴
- QUERY #DML #SQL문 #내림차순정렬 #오름차순정렬
- web.xml #배포지시자 #서블릿테스트
- Model #
- spring #스프링 #전자정부표준프레임워크 #표준프레임워크 #자바스프링 #스프링다운로드 #자바스크립트 #웹프로그래밍설정 #웹프로그래밍셋팅
- Controller
- union #sql99 #외부조인 #오라클조인 #sql조인 #자체조인 #비등가조인 #비등가조인 #테이블복사 #오라클테이블 #null인데이터출력
- Doit #Doit오라클 #Doit시리즈 #연습문제
- html #자바와서블릿 #자바와웹연결 #웹연결
- 8 실무에서 가장 많이 사용하는 SQL
- 자바웹프로그래밍
- 정처기 #정처기필기 #정보처리기사 #정보처리기사필기 #정보처리기사2023 #정처기2023 #정처기3회 #정보처리기사3회 #정보처리기사실기 #정처기실기 정처기합격
- Today
- Total
장미의 개발일기
JDBC : 오라클과 자바 연결 테스트하기 본문
시행착오가 너무 많았다 ㅠㅠ 힘들어...
일단 오라클 공식사이트에 드라이버 6이 없어서 당황... 어찌 찾음;
11g 버전은 6이 맞는 걸로 알고 있어서 ...(아래 드라이버 첨부해놨습니다~)
오라클DB에서 시퀀스란 놈이 상당히 까다롭다는 걸 느끼는 하루였다.
1부터 1씩 증가하는 시퀀스를 만들었다고 가정할 때,
------1. 데이터를 삭제해도 그 데이터의 시퀀스는 사라지지 않아서,
1,2,3,4 중 4번째를 삭제했다면, 그 다음에 새로 데이터를 입력하면 4가 아닌 5가 된다.
------2. cmd에서 데이터를 삽입하고, 자바와 연결한 후, 자바에서 데이터를 작성하면,
시퀀스는 연동이 안 되는 듯..? 왔다 갔다 입력하면 시퀀스 순서가 개판이 되는 걸 볼 수가 있음.
------3. 딱히 초기화 방법이 없고, 삭제 후 같은 걸 다시 생성해야하는 것 같다. + 그 테이블 데이터 다 삭제해야함...
gpt에게 물어봤으나 틀린 답을 알려줬어....^^
------4. 테이블을 복사 한 후 , 그 원본 테이블(데이터는 전부 삭제함)에서 쓰던 시퀀스 그대로 썼더니
또 1부터 시작이 안됌
아래 코드 첨부.
열 하나 추가하고 "?(3번째) 를 그냥 원하는 순서에 넣었더니 오류가 자꾸 뜨더라... 마지막에 생성된 것은 마지막에 넣어야하는 듯.
"INSERT INTO BOOK VALUES(NEW_SEQ.NEXTVAL, ?, ?,SYSDATE, ?)";
package oracleTest2;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
//Connection 객체를 사용해서 오라클에 접속 테스트
public class OracleConnectionTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("작성자:");
String writer = sc.nextLine();
System.out.print("제목:");
String subject = sc.nextLine();
System.out.print("컨텐츠:");
String content = sc.nextLine();
// if esle => 1번이면 파일로 저장, 2번이면 디비로 저장 구현해보기
//1. 드라이버를 로딩
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("드라이버 로딩 성공!");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
//oracle.jdbc.driver
}
//2. 데이터베이스 연결 테스트
Connection con = null;
// protocol(통신규약) : jdbc: oracle:thin: //sftp, pop3, 등 규약
// =>@host:port:sid
//port는 바뀔 수 있다. LSNRCTL로 cmd에서 알수있다.
String url = "jdbc:oracle:thin:@localhost:1521:orcl"; //무조건 외우기
String user = "kosmo132";
String pass = "kosmo132";
try {
con = DriverManager.getConnection(url, user, pass);
System.out.println("ConnetionTest:"+con);
// insert into memo values(memo_seq.nextVal,'김길동','하이',sysdate);
//2. 사용자로부터 입력값을 받아서 memo란 테이블에 데이터르르 저장하는 명령문을
// 디비에 전송
String sql = "INSERT INTO BOOK VALUES(NEW_SEQ.NEXTVAL, ?, ?,SYSDATE,?)";
//? 1번 ? 2번 ? 끼리의 순서가 중요
// 컬럼을 추가한 후 ?는 맨 뒤로 보내야함 무조건 순서대로...
// 접속에 성공해도 SEQ는 계속 증가? 아니면 딴거 쓰다와서??
PreparedStatement pstmt = con.prepareStatement(sql); //커넥션에 연결된 ?
// 입력받은 변수 2개 writer, subject 를 ?에 순서대로 연결한다. (binding 한다)
pstmt.setString(1, writer); //1번째 물음표
pstmt.setString(2, subject); //2번째 물음표
pstmt.setString(3, content); //3번째 물음표
//이제 전송을 실행한다.
pstmt.executeUpdate(); //DML용
// 실행 후에 cmd에서 체크 (적용된거)
} catch (SQLException e) {
// SQLException ** 고객에게는 안보여줘도 되지만 개발단계에선 절대 없애선 안된다. *****
e.printStackTrace();
}finally {
try {
if(con != null) {
con.close();}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} //테스트 후에는 반드시 연결을 끊어줘야한다. ***
//연결해서 작성한 데이터들은 저절로 COMMIT이 되는듯
}
}
}
데이터를 자바에서 입력 후에, cmd에서 테이블 확인해보기

오라클 11g 버전 쓰시는 분 아래 드라이버 받아가세요~
'개발일기 > Oracle' 카테고리의 다른 글
Do it! 오라클로 배우는 데이터베이스 입문 : 연습문제 7 (0) | 2023.05.10 |
---|---|
Do it! 오라클로 배우는 데이터베이스 입문 : 연습문제 6 (0) | 2023.05.09 |
JDBC: 자바와 오라클 연결하여, 테이블 생성 및 결과 출력 해보기 (0) | 2023.05.07 |
Do it! 오라클로 배우는 데이터베이스 입문 : 연습문제 (0) | 2023.05.05 |
ORACLE /오라클 연습용,학습용 계정 : SCOTT (0) | 2023.05.05 |