본문 바로가기

6개월 대장정/JDBC 개념

71일차 - [JDBC] SELECT문, bean 사용

반응형

안녕하세요. pitang입니다.

MySql의 문법에 대해 알아보았으니, 이제는 SQL을 실행하기 위한 응용프로그램 JDBC에 대해 알아보겠습니다.

 

JDBC

JDBC는 자바 프로그램 안에서 SQL을 실행하기 위한 응용프로그램 인터페이스이다.

JDBC를 사용하면, 어떤 데이터베이스를 쓰던 동일한 코드로 여러 종류의 데이터베이스에 접근할 수 있다.

 

JDBC와 MySql 데이터를 연동하는 방법은 66일 차에 정리해놓았다.

 

SELECT문

SELECT문을 JDBC로 실행하는 방법이다.

 

ex1)

SELECT CustomerName FROM Customers WHERE CustomerID = 1

JDBC01Servlet.java
console

 

ex2) 

SELECT CustomerName FROM Customers

JDBC03Servlet.java
v03.jsp
console

 

ex3) 

SELECT CustomerName, ContactName, Address 
FROM Customers 
WHERE CustomerID = 1

JDBC05Servlet.java
v05.jsp - console


Bean을 사용한 SELECT문

JavaBeans에 대해 알아본 적이 있다.(55일차)

Bean을 사용해 SELECT문을 실행할 수도 있다.

 

 

ex1) 

- query

SELECT CustomerName, ContactName, Address, City, CustomerID, PostalCode, Country
FROM Customers;

- Customer JavaBeans

Cutomer.java

- JDBC

JDBC08Servlet.java

- JSP, console

v08.jsp - console

 

ex2)

- query

SELECT SupplierID, SupplierName, ContactName, Address, City, PostalCode, Country, Phone
FROM Suppliers

- Supplier JavaBeans

Supplier.java

- JDBC

JDBC10Servlet.java

- JSP, console

v10.jsp - console

 

ex3)

- query

SELECT EmployeeID, LastName, FirstName, BirthDate, Photo, Notes
FROM Employees

- Employee JavaBeans

Employee.java

- JDBC

JDBC11Servlet.java

- JSP, console

v11.jsp - console

 

SQL문에 값 전달하기("?" 활용)

SQL문이 변동사항이 없이 고정되어 있었던 앞의 SELECT문에서는 모두 Statement 객체를 사용했다. 

하지만, SQL문에 값을 전달("?" 물음표 사용)하고 변동사항이 있을 경우에는 PreparedStatement 객체를 사용해야 한다.

 

Statement 객체는 SQL문을 바로 실행하게 해 준다면, 

PreparedStatement 객체는 고정된 query를 중간에 임시로 미리 저장하고, 최종 query가 완성되면 query 실행을 하게 해 준다.

 

Statement 객체를 사용하는 경우와 PreparedStatement를 사용하는 경우를 비교해 알아볼 것이다.

ex1)

- query

-- JDBC12Servlet.java query
SELECT CustomerID, CustomerName, ContactName, Address, City, PostalCode, Country
FROM Customers WHERE CustomerID = id
-- JDBC13Servlet.java query
SELECT CustomerID, CustomerName, ContactName, Address, City, PostalCode, Country
FROM Customers WHERE CustomerID = ?

- Customer JavaBeans

Cutomer.java

- JDBC

JDBC12Servlet.java - JDBC13Servlet.java

- JSP, console

v12.jsp - JDBC12Servlet console - JDBC13Servlet console

 

ex2)

- query

-- 공급자 국가 조회
SELECT DISTINCT Country FROM Suppliers ORDER BY Country
-- 공급자들 조회
SELECT SupplierID, SupplierName, ContactName, Address, City, PostalCode, Country, Phone
FROM Suppliers WHERE Country = ?

- JavaBeans

Supplier.java

- JDBC

JDBC17Servlet.java

- JSP

v17.jsp(1)
v17.jsp(2)

- console

console

 

 

감사합니다.

 

* m1 맥북을 사용 중입니다.*

 

 

728x90
반응형

'6개월 대장정 > JDBC 개념' 카테고리의 다른 글

72일차 - [JDBC] DAO 활용, get-post  (0) 2021.12.21