English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼은 JDBC 애플리케이션의 작동 방식을 이미 이해했다고 가정합니다。
주의사항:
jar 패키지 다운로드(对口 버전 선택):https://downloads.mysql.com/archives/c-j/
다운로드 후 mysql-connector-java-<对口版本>-bin.jar 파일을 tomcat의 lib 디렉토리에 복사합니다。
MySQL 8.0 이상 버전의 데이터베이스 연결은 다릅니다:
1、com.mysql.jdbc.Driver com.mysql.cj.jdbc.Driver로 변경합니다。
MySQL 8.0 이상 버전의 경우 SSL 연결을 설정하지 않아도 됩니다. 명시적으로 닫아야 합니다。
마지막으로 CST를 설정해야 합니다。
드라이버를 로드하고 데이터베이스와 연결하는 방법은 다음과 같습니다:
<sql:setDataSource var="snapshot" driver="com.mysql.cj.jdbc.Driver"> url="jdbc:mysql://localhost:3306/w3codebox?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 user="root" password="12345"/>
기본 개념에서 시작하여 간단한 테이블을 생성하고 테이블에 몇 개의 레코드를 추가해 보겠습니다。
다음으로 MySQL에서 w3codebox 데이터베이스를 생성하고 websites 테이블을 생성합니다. 테이블 구조는 다음과 같습니다:
CREATE TABLE `websites` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` char(20) NOT NULL DEFAULT '' COMMENT '사이트 이름', `url` varchar(255) NOT NULL DEFAULT '', `alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 순위', `country` char(10) NOT NULL DEFAULT '' COMMENT '국가', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
데이터를 추가합니다:
INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '기본 지침 웹사이트', 'http://ko.oldtoolbag.com', '5892', ''), ('4', '微博', 'http://weibo.com/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');
데이터 테이블은 다음과 같이 표시됩니다:
다음 예제는 JSTL SQL 태그를 사용하여 SQL SELECT 문을 실행하는 방법을 알려줍니다:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <html> <head> <title>SELECT 작업</title> </head> <body> <!-- JDBC 드라이버 이름 및 데이터베이스 URL 데이터베이스 사용자 이름과 비밀번호는 자신의 설정에 따라야 합니다 useUnicode=true&characterEncoding=utf-8 중국어 혼란을 방지하기 위해 --> <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/w3codebox?useUnicode=true&characterEncoding=utf-8" user="root" password="123456"/> <sql:query dataSource="${snapshot}" var="result"> SELECT * from websites; </sql:query> <1>JSP 데이터베이스 예제 - 기본 튜토리얼 웹사이트</h1> <table border="1" width="100%"> <tr> <th>ID</th> <th>사이트 이름</th> <th>사이트 주소</th> </tr> <c:forEach var="row" items="${result.rows}"> <tr> <td><c:out value="${row.id}"/></td> <td><c:out value="${row.name}"/></td> <td><c:out value="${row.url}"/></td> </tr> </c:forEach> </table> </body> </html>
이 JSP 예제에 접근하여 실행 결과는 다음과 같습니다:
이 예제는 JSTL SQL 태그를 사용하여 SQL INSERT 문을 실행하는 방법을 알려줍니다:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <html> <head> <title>SELECT 작업</title> </head> <body> <!-- JDBC 드라이버 이름 및 데이터베이스 URL 데이터베이스 사용자 이름과 비밀번호는 자신의 설정에 따라야 합니다 useUnicode=true&characterEncoding=utf-8 중국어 혼란을 방지하기 위해 --> <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/w3codebox?useUnicode=true&characterEncoding=utf-8" user="root" password="123456"/> <!-- 데이터 삽입 --> <sql:update dataSource="${snapshot}" var="result"> INSERT INTO websites (name,url,alexa,country) VALUES ('기본 튜토리얼 웹 모바일 사이트', 'http://m.oldtoolbag.com', 5093, 'CN'); </sql:update> <sql:query dataSource="${snapshot}" var="result"> SELECT * from websites; </sql:query> <1>JSP 데이터베이스 예제 - 기본 튜토리얼 웹사이트</h1> <table border="1" width="100%"> <tr> <th>ID</th> <th>사이트 이름</th> <th>사이트 주소</th> </tr> <c:forEach var="row" items="${result.rows}"> <tr> <td><c:out value="${row.id}"/></td> <td><c:out value="${row.name}"/></td> <td><c:out value="${row.url}"/></td> </tr> </c:forEach> </table> </body> </html>
이 JSP 예제에 접근하여 실행 결과는 다음과 같습니다:
이 예제는 JSTL SQL 태그를 사용하여 SQL DELETE 문을 실행하는 방법을 보여줍니다:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <html> <head> <title>SELECT 작업</title> </head> <body> <!-- JDBC 드라이버 이름 및 데이터베이스 URL 데이터베이스 사용자 이름과 비밀번호는 자신의 설정에 따라야 합니다 useUnicode=true&characterEncoding=utf-8 중국어 혼란을 방지하기 위해 --> <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/w3codebox?useUnicode=true&characterEncoding=utf-8" user="root" password="123456"/> <!-- ID가 되는 데이터를 삭제 11 의 데이터 --> <sql:update dataSource="${snapshot}" var="count"> DELETE FROM websites WHERE Id = ? <sql:param value="${11" /> </sql:update> <sql:query dataSource="${snapshot}" var="result"> SELECT * from websites; </sql:query> <1>JSP 데이터베이스 예제 - 기본 튜토리얼 웹사이트</h1> <table border="1" width="100%"> <tr> <th>ID</th> <th>사이트 이름</th> <th>사이트 주소</th> </tr> <c:forEach var="row" items="${result.rows}"> <tr> <td><c:out value="${row.id}"/></td> <td><c:out value="${row.name}"/></td> <td><c:out value="${row.url}"/></td> </tr> </c:forEach> </table> </body> </html>
이 JSP 예제에 접근하여 실행 결과는 다음과 같습니다:
이 예제는 JSTL SQL 태그를 사용하여 SQL UPDATE 문을 실행하는 방법을 보여줍니다:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <html> <head> <title>SELECT 작업</title> </head> <body> <!-- JDBC 드라이버 이름 및 데이터베이스 URL 데이터베이스 사용자 이름과 비밀번호는 자신의 설정에 따라야 합니다 useUnicode=true&characterEncoding=utf-8 중국어 혼란을 방지하기 위해 --> <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/w3codebox?useUnicode=true&characterEncoding=utf-8" user="root" password="123456"/> <!-- ID를 수정 3 이름: 기본 튜토리얼 웹으로 변경됨3codebox --> <c:set var="SiteId" value="3"/> <sql:update dataSource="${snapshot}" var="count"> UPDATE websites SET name = 'w3codebox' WHERE Id = ? <sql:param value="${SiteId}" /> </sql:update> <sql:query dataSource="${snapshot}" var="result"> SELECT * from websites; </sql:query> <1>JSP 데이터베이스 예제 - 기본 튜토리얼 웹사이트</h1> <table border="1" width="100%"> <tr> <th>ID</th> <th>사이트 이름</th> <th>사이트 주소</th> </tr> <c:forEach var="row" items="${result.rows}"> <tr> <td><c:out value="${row.id}"/></td> <td><c:out value="${row.name}"/></td> <td><c:out value="${row.url}"/></td> </tr> </c:forEach> </table> </body> </html>
이 JSP 예제에 접근하여 실행 결과는 다음과 같습니다: