
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%><%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%><c:set var="path" value="${ pageContext.request.contextPath }"/>
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/servlet-jsp/04_MVC
https://mariadb.com/kb/en/about-mariadb-connector-j/

https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client/3.4.0

** 04_MVC/src/main/webapp/WEB-INF/lib 폴더 안에 복사
Class.forName("org.mariadb.jdbc.Driver"); // MariaDB
Class.forName("oracle.jdbc.driver.OracleDriver"); // 오라클
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // MSSQL
// "/web"에서 web은 데이터베이스 이름
// 2번째 web: 연결 계정, 3번째 web: 비밀번호
Connection connection = DriverManager.getConnection("jdbc:mariadb://localhost:3306/web", "web", "web");
Statement stmt = connection.createStatement();
// SELECT 쿼리 실행 (ResultSet 객체를 리턴한다.)
ResultSet rs = stmt.executeQuery("SELECT * FROM emp");
// INSERT, UPDATE, DELETE 쿼리 실행 (정수값을 리턴한다.)
int result = stmt.executeUpdate("DELETE FROM emp WHERE emp_no = 10")
// ? : 아직 정해지지 않은 값, ?가 여러개 들어 갈 수 있음
String query = "SELECT * FROM emp WHERE emp_no = ?";
PreparedStatement pstmt = connection.prepareStatement(query);
// 첫번째 ?에 10이라는 값을 넣어줌
pstmt.setInt(1, 10);
ResultSet rs = pstmt.executeQuery();
ResultSet rs = stmt.executeQuery("SELECT * FROM emp");
// 한 행씩 접근
while(rs.next()){
System.out.println(rs.getInt("emp_no") + ", " + rs.getString(2));
}