<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@ 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>
<%
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()){
/* int empno = resultSet.getInt("empno");
String ename = resultSet.getString("ename");
String job = resultSet.getString("job");
int mgr = resultSet.getInt("mgr");
String hiredate = resultSet.getString("hiredate");/* 날짜타입은 받는게 여러개
int sal = resultSet.getInt("sal");
String comm = resultSet.getString("comm");
int deptno = resultSet.getInt("deptno");
out.print("사원번호 : " + empno + " 이름 : " + ename + " JOB : " + job + " MGR : " + mgr + " 고용일 : " + hiredate + " 연봉 : " + sal +" COMM : " + comm + " 부서번호 : " + deptno +"<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>
데이터베이스를 정의하는 언어이며, 데이터리를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는데 사용.
데이터베이스, 테이블등을 생성하는 역할을 한다.
정의된 데이터베이스에 입력된 레코드를 조회하거나 수정하거나 삭제하는 등의 역할을 함
데이터의 보안, 무결성, 데이터 회복, 병행 수행 제어 등을 정의하는 데 사용하는 언어
-ABS
-floor
-round
-TRUNC
-MOD
DELETE에 조건(Where)이 없으면 TRUNCATE와 동일하게 모든 데이터가 삭제되고 테이블 스키마만 남는 빈 껍데기 형태가 된다.
그러면 속도가 빠른 TRUNCATE 쓰는게 좋겠네? 라고 생각하기 쉽지만
DELETE 명령어는 데이터 복구가 가능하고, 로그를 남기므로, 중점을 어디에 두느냐에 따라 다르게 사용될 수 있지만 ⭐함부로 쓰지 않기⭐
모듈화된 MVC에서 View가 JSP라면, Model에 해당하는 것이 Bean이다.
컴포넌트 즉, DTO와 동일한 역할을 수행한다.
JSP와의 연동을 위해 만들어진 자바 컴포넌트인 Bean을 통해 JSP와 클래스들간에 데이터를 쉽게 연동하고, 데이터 베이스 연동이나 View 데이터 교환에 사용된다.
📌 자바빈 사용목적
JSP 페이지가 화면 표현 부분과 로직들이 같이 존재하여 복잡한 구성을 가급적 피하고, JSP 페이지의 로직 부분을 분리해서 코드를 재사용함으로써 프로그램의 효율을 높이기 위해서 사용한다.
=========================================================
Student student = new edu.kosmo.ex.Student();
<jsp:useBean id="student" class="edu.kosmo.ex.Student"></jsp:useBean>
<jsp:setProperty name="student" property="name" value="홍길동" />
~~~~~~~~~~~
~~~~~~~~~~~~~
이름 : <jsp:getProperty ~~~ /><br />
국어 : <jsp:getProperty ~~~ /><br />
영어 : <jsp:getProperty ~~~ /><br />
수학 : <jsp:getProperty ~~~ /><br />
총점 : <jsp:getProperty ~~~ /><br />
평균 : <jsp:getProperty ~~~ /><br />
=======================================================
<%@ 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="grade.jsp">
이름 : <input type="text" name="name" size="10" /><br/>
국어 : <input type="number" name="kor" size="10" /><br/>
영어 : <input type="number" name="eng" size="10" /><br/>
수학 : <input type="number" name="math" size="10" /><br/>
<input type="submit" value="전송"> <input type="reset" value="초기화">
</form>
</body>
</html>
-----------------------------------------------------------------------------
<%@ 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>
<jsp:useBean id="grade" class="edu.global.ex.Grade2" />
<jsp:setProperty property="name" name="grade" param="name"/>
<jsp:setProperty property="kor" name="grade" param="kor"/>
<jsp:setProperty property="eng" name="grade" param="eng"/>
<jsp:setProperty property="math" name="grade" param="math"/>
이름 : <jsp:getProperty property="name" name="grade"/><br/>
국어 : <jsp:getProperty property="kor" name="grade"/><br/>
영어 : <jsp:getProperty property="eng" name="grade"/><br/>
수학 : <jsp:getProperty property="math" name="grade"/><br/>
총점 : <jsp:getProperty property="total" name="grade"/><br/>
평균 : <jsp:getProperty property="avg" name="grade"/><br/>
</body>
</html>
--------------------------------------------------------------------------
package edu.global.ex;
public class Grade2 {
private int kor, eng, math;
private String name;
public Grade2(String name,int kor, int eng, int math) {
this.name = name;
this.kor = kor;
this.eng = eng;
this.math = math;
}
public int getKor() {
return kor;
}
public void setKor(int kor) {
this.kor = kor;
}
public int getEng() {
return eng;
}
public void setEng(int eng) {
this.eng = eng;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Grade2() {
// TODO Auto-generated constructor stub
}
public int getTotal() {
return kor + eng + math;
}
public double getAvg() {
return getTotal() / 3.0;
}
}
쌤 6번 훔쳐갈게요~!