안녕하세요. pitang입니다.
MySql의 문법에 대해 알아보았으니, 이제는 SQL을 실행하기 위한 응용프로그램 JDBC에 대해 알아보겠습니다.
JDBC
JDBC는 자바 프로그램 안에서 SQL을 실행하기 위한 응용프로그램 인터페이스이다.
JDBC를 사용하면, 어떤 데이터베이스를 쓰던 동일한 코드로 여러 종류의 데이터베이스에 접근할 수 있다.
JDBC와 MySql 데이터를 연동하는 방법은 66일 차에 정리해놓았다.
SELECT문
SELECT문을 JDBC로 실행하는 방법이다.
ex1)
SELECT CustomerName FROM Customers WHERE CustomerID = 1
ex2)
SELECT CustomerName FROM Customers
ex3)
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE CustomerID = 1
Bean을 사용한 SELECT문
JavaBeans에 대해 알아본 적이 있다.(55일차)
Bean을 사용해 SELECT문을 실행할 수도 있다.
ex1)
- query
SELECT CustomerName, ContactName, Address, City, CustomerID, PostalCode, Country
FROM Customers;
- Customer JavaBeans
- JDBC
- JSP, console
ex2)
- query
SELECT SupplierID, SupplierName, ContactName, Address, City, PostalCode, Country, Phone
FROM Suppliers
- Supplier JavaBeans
- JDBC
- JSP, console
ex3)
- query
SELECT EmployeeID, LastName, FirstName, BirthDate, Photo, Notes
FROM Employees
- Employee JavaBeans
- JDBC
- 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
- JDBC
- JSP, 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
- JDBC
- JSP
- console
감사합니다.
* m1 맥북을 사용 중입니다.*
'6개월 대장정 > JDBC 개념' 카테고리의 다른 글
72일차 - [JDBC] DAO 활용, get-post (0) | 2021.12.21 |
---|