JDBC
JAVA ํ๋ก๊ทธ๋จ์์ SQL๋ฌธ์ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ JAVA API์ด๋ค.
JDBC์ ํน์ง์ ๋ค์ํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ๋ํด์ ๋ณ๋์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ํ์ ์์ด, ํด๋น ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ JDBC๋ฅผ ์ด์ฉํ๋ฉด ํ๋์ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
MySQL ์ฐ๋ํ๊ธฐ
https://dev.mysql.com/downloads/connector/j/5.1.html ์์ Platform Independent (Architecture Independent), Compressed TAR Archive ๋ฅผ ๋ค์ด๋ฐ๋๋ค.
์์ถ์ ํผ ํ
mysql-connector-java-5.1.46-bin.jar
ํ์ผ์ ๋ณต์ฌํ๋ค./Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext
๋ก ์ด๋ํ ํ ๋ณต์ฌํ ํ์ผ์ ๋ถ์ฌ๋ฃ๋๋ค.Eclipse ํ๊ฒฝ์ค์ โ Installed JREsโ ์ค์น ๋ฒ์ ์ ํ โ Edit โ Add External JARs ๋ก ์์ ๊ฒฝ๋ก์ ์ถ๊ฐํ ํ์ผ์ ์ถ๊ฐํด์ค๋ค.
DataSource Explorer โ Database Connection์ ์ฐํด๋ฆญ โ New โ MySQL ์ถ๊ฐ
ํด์ฃผ๋ฉด ์ฑ๊ณต์ ์ผ๋ก ์ฐ๋ ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
JDBC ์ดํด๋ณด๊ธฐ
๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์์

JDBC ๋๋ผ์ด๋ฒ ๋ก๋(DriverManager) : ๋ฉ๋ชจ๋ฆฌ์ MySQL Driver๊ฐ ๋ก๋๋๋ค.
Class.forName("com.mysql.jdbc.Driver");
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ(Connection) : Connection ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
Connection connection=DriverManager.getConnection(JDBC URL,๊ณ์ ์์ด๋,๋น๋ฐ๋ฒํธ);
SQL๋ฌธ ์คํ(Statement) : State ๊ฐ์ฒด๋ฅผ ํตํด์ SQL๋ฌธ์ด ์คํ๋๋ค.
Statement statement = connection.createStatement();
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ํด์ (ResultSet) : SQL๋ฌธ ๊ฒฐ๊ณผ ๊ฐ์ ResultSet๊ฐ์ผ๋ก ๋ฐ๋๋ค.
ResultSet rs = statement.executeQuery();
ResultSet rs = statement.executeUpdate();
Statement ๊ฐ์ฒด ์ดํด๋ณด๊ธฐ
executeQuery()
SQL๋ฌธ ์คํ ํ ์ฌ๋ฌ ๊ฐ์ ๊ฒฐ๊ณผ ๊ฐ์ด ์๊ธฐ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค. (ex) select
ResultSet
executeQuery() ์คํ ํ ๋ฐํ๋๋ ๋ ์ฝ๋ ์ ์ด๋ค.
๋ฉ์๋
์ค๋ช
next()
๋ค์ ๋ ์ฝ๋ ์ด๋
previous()
์ด์ ๋ ์ฝ๋๋ก ์ด๋
first()
์ฒ์์ผ๋ก ์ด๋
last()
๋ง์ง๋ง์ผ๋ก ์ด๋
get๋ฉ์๋ (getString, getInt)
ํด๋น๋๋ ๊ฐ์ ๊ฐ์ ธ์จ๋ค.
executeUpdate()
SQL๋ฌธ ์คํ ํ ํ ์ด๋ธ์ ๋ด์ฉ๋ง ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค. (ex) insert, delete, update
์์ ์ฝ๋
<%@page import="javax.servlet.jsp.tagext.TryCatchFinally"%>
<%@ page import="java.sql.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%!
Connection connection;
Statement statement;
ResultSet resultSet;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/javaproject";
String uid = "root";
String upw = "๋น๋ฐ๋ฒํธ";
String query = "SELECT * FROM member";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
try{
Class.forName(driver);
connection = DriverManager.getConnection(url,uid,upw);
statement = connection.createStatement();
resultSet = statement.executeQuery(query);
// ๋ค์๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ๊ฐ์ ๋ฐ์์จ๋ค.
while(resultSet.next()){
String id = resultSet.getString("id");
String pw = resultSet.getString("pw");
String name = resultSet.getString("name");
String phone = resultSet.getString("phone");
out.println("์์ด๋ : "+id +", ๋น๋ฐ๋ฒํธ : "+pw+", ์ด๋ฆ : "+name+", ์ ํ๋ฒํธ : "+phone+"<br />");
}
}catch(Exception e){
}finally{
//๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํ ์์์ ํด์ ํ๋ค.
try{
if(resultSet != null) resultSet.close();
if(statement != null) statement.close();
if(connection != null) connection.close();
} catch(Exception e){}
}
%>
</body>
</html>
์ฐ๊ฒฐ์ด ์ ๋๋ก ๋์ผ๋ฉด ์ฌ๋ฐ๋ฅธ ๊ฐ์ด ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
Last updated
Was this helpful?