[jsp] 이클립스에서 자바 DB 연결, 데이터 insert 하기 / jdbc

seulki·2022년 10월 18일
0

jsp

목록 보기
32/51
post-thumbnail
post-custom-banner

🎈 jdbc cycle

  1. Connection : DriverManager로부터 Connection 객체를 가져온다.
  2. Statement : Sql Query문 담아서 전달
    • PrepareStatement
      -> SQL문을 미리 컴파일 하여 실행 속도를 높여준다.
    • 3b. ExecuteUpdate
      -> select 구문을 제외한 다른 구문을 수행할 때 사용되는 함수
      -> 수행결과로 int 타입의 값을 반환한다.
      -> insert / delete / update 관련 구문에서는 반영된 레코드의 건수를 반환한다.
  1. ResultSet
    : select 쿼리 실행 시 executeQuery() 메서드를 사용하며, 실행 결과로 java.sql.ResultSet형으로 리턴해준다.
  • select문은 실행 결과가 성공, 실패로 구분되지 않는다.

  • 레코드(행)가 여러개이기 때문에 select의 결과값은 여러개이다.

  • 자주 사용하는 메서드
    -> next()
    : 다음행으로 커서를 이동 다음행이 없으면 false를 리턴

    -> getXXX(int columnIndex)
    : columnIndex번째 컬럼의 값을 XXX 타입으로 가져온다.

    -> getXXX(String columnName)
    : columnName 컬럼의 값을 XXX 타입으로 가져온다.

  • users table의 값을 ResultSet에 담아서 가져온다.

      
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Driver"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<% 	
	//원시적인 방법
	//DB connection을 위한 정보		
       Connection conn = null;  //DB 연결

    //오라클에 접근할 수 있는 드라이버가 들어있는 경로
       String driver = "oracle.jdbc.driver.OracleDriver";
	
	//DB정보 
	//DB가 다른PC에 있으면 localhost -> IP주소
	//포트가 바뀌면 1521 -> 변경
	//DB 정보 바뀌면 xe -> 변경
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
		
    //DB 계정 ID ,PW
		String user = "jsp";
		String password = "jsp";		
		
		int check = 0;
		
     // 드라이버 jar파일 클래스를 로딩시킨다.
     //-> DB connection 준비 완료
		Class.forName(driver);
		System.out.println("jdbc Driver 로딩 성공!");
		
     // DB와 연결 getConnection() 
     //-> DB정보, ID, PW 담아서 DB와 연결
		conn = DriverManager.getConnection(url, user, password);
		System.out.println("오라클 연결 성공!");
	 //테이블 생성 후, 데이터 insert 하기
		String sql = "INSERT INTO car values('6', 'Benz', 'white', 150000000)";
		
	 //sql 담아 보내기
		PreparedStatement pstm = conn.prepareStatement(sql);
		
	 // 쿼리문 실행
	 //쿼리문이 반영된 레코드 건 수를 인트로 반환
		check = pstm.executeUpdate();
		System.out.println("check : " + check);
	
		if(check != 0){
			System.out.println("데이터 삽입 성공!");
		}else{
			System.out.println("데이터 삽입 실패!");     
   
	%>
</body>
</html>

🎈 select문 보러가기!

profile
웹 개발자 공부 중
post-custom-banner

0개의 댓글