<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table align="center" border="1">
<tr>
<th>empno</th>
<th>ename</th>
<th>job</th>
<th>mgr</th>
<th>hiredate</th>
<th>sal</th>
<th>comm</th>
<th>deptno</th>
<!-- empno, ename, job, mgr, hiredate, sal, comm, deptno -->
<%
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String uid = "scott";
String upw = "tiger";
String query = "select * from emp";
//환경설정부분
try{
Class.forName(driver);
connection = DriverManager.getConnection(url, uid, upw);
statement = connection.createStatement();
resultSet = statement.executeQuery(query);
while(resultSet.next()) {
String empno = resultSet.getString("empno");
String ename = resultSet.getString("ename");
String job = resultSet.getString("job");
String mgr = resultSet.getString("mgr");
String hiredate = resultSet.getString("hiredate");
String sal = resultSet.getString("sal");
String comm = resultSet.getString("comm");
String deptno = resultSet.getString("deptno");
//empno, ename, job, mgr, hiredate, sal, comm, deptno
out.println("<tr>");
out.println("<td>"+ empno +"</td>");
out.println("<td>"+ ename +"</td>");
out.println("<td>"+ job +"</td>");
out.println("<td>"+ mgr +"</td>");
out.println("<td>"+ hiredate +"</td>");
out.println("<td>"+ sal +"</td>");
out.println("<td>"+ comm +"</td>");
out.println("<td>"+ deptno +"</td>");
out.println("</tr>");
}
}catch(Exception e){
}finally{
try{
if(resultSet != null) resultSet.close();
if(statement != null) statement.close();
if(connection != null) connection.close();
} catch(Exception e){}
}
%>
</tr>
</table>
</body>
</html>
DML : Data Manipulation Language
번역하면 데이터 조작어이며,
테이블의 데이터를 조회하거나 검색하는 SELECT, 테이블에 들어가있는 데이터에 변형을 가하는 INSERT, UPDATE, DELETE등이 있다.
DDL : Data Definition Language
번역하면 데이터 정의어이며,
테이블의 데이터 구조를 정의하는데 사용되는 명령어이다.
속해있는 명령어로는 CREATE, ALTER, DROP, RENAME, TRUNCATE등이 있다.
DCL : Data Control Language
번역하면 데이터 정의어이며,
테이블의 데이터에 접근할수있는 권한을 주거나 박탈할때 사용한다. 속해있는 명령어로는 GRANT와 REVOKE가 있다.
ABS : 절대값을 구하는 함수
floor : 소숫값을 버리는 함수
round : round(입력한 수, n번째 자리수에서 반올림)
TRUNC : trunc(입력한 수, n번째 자리수에서 버림)
MOD : 나머지를 구하는 함수(프로그래밍 언어의 %와 동일)
drop
drop은 데이터 테이블 객체 자체를 삭제시켜 내부의 프레임과 데이터를 모두 삭제시킨다.
truncate
truncate는 데이터 테이블 객체의 프레임은 남겨두고, 내부의 데이터값만 완전히 삭제시키는 명령어이다.
Connection : 데이터베이스 연결
사용예)
DriverManager.getConnetion(JDBC URL, 계정 아이디, 비밀번호)
DriverManager에서 커넥션 생성(연결시킴)
Statement : SQL문 실행
사용예)
connection.createStatement();
connection객체에서 Statement를 생성시켜서 ResultSet객체에 넣어줌.
Resultset : 데이터베이스 연결 해제
사용예)
statement.executeQuery(실행할 쿼리문);
statement객체를 받아와서 실제로 쿼리문을 받아온 후 담아둠.
class Student {
public Student() {}
private String name;
private int kor;
private int eng;
private int math;
public int getKor() {
return kor;
}
public int setKor() {
this.kor = kor;
}
.... name, eng, math의 Getter, Setter 함수
public int getTotal() {
return kor+eng+math;
}
// 총점 구하는 메소드
public double getAverage() {
return (kor+eng+math)/3.0;
}
// 평균 구하는 메소드
}
ScoreForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="StudentBean.jsp">
이름 : <input type="text" name="name"><br>
국어 점수 : <input type="number" name="kor"><br>
영어 점수 : <input type="number" name="eng"><br>
수학 점수 : <input type="number" name="math"><br>
<input type="submit" value="전송">
</form>
</body>
</html>
StudentBean.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<jsp:useBean id="student" class="edu.kosmo.ex.Student"/>
<!-- 자바빈을 참조함(edu.kosmo.ex 패키지에 있는 Student 객체 참조)
Student student = new edu.kosmo.ex.Student();와 같은 역할을 한다.
-->
</head>
<body>
<jsp:setProperty name="student" property="name" param="name"/>
<jsp:setProperty name="student" property="kor" param="kor"/>
<jsp:setProperty name="student" property="eng" param="eng"/>
<jsp:setProperty name="student" property="math" param="math"/>
이름 : <jsp:getProperty name="student" property="name"/><br>
국어 : <jsp:getProperty name="student" property="kor" /><br>
영어 : <jsp:getProperty name="student" property="eng"/><br>
수학 : <jsp:getProperty name="student" property="math" /><br>
총점 : <jsp:getProperty name="student" property="total"/><br>
평균 : <jsp:getProperty name="student" property="average" /><br>
</body>
</html>