전일 만들었던 내용
<%@page import="com.poseidon.db.EmployeesDTO"%>
<%@page import="java.util.List"%>
<%@page import="com.poseidon.db.EmployeesDAO"%>
<%@ 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>
<%
EmployeesDAO dao = new EmployeesDAO();
List<EmployeesDTO> list = dao.selectEmployees();
%>
</head>
<body>
<tr>
<table border="1">
<td>emp_no</td>
<td>birth_date</td>
<td>first_name</td>
<td>last_name</td>
<td>gender</td>
<td>hire_date</td>
</tr>
<% <-- % 사이에 자바 명령문 작성 -->
for (int i = 0; i < list.size(); i++) {
%>
<tr>
<td><%=list.get(i).getEmp_no()%></td>
<td><%=list.get(i).getBirth_date() %></td>
<td><%=list.get(i).getFirst_name() %></td>
<td><%=list.get(i).getLast_name() %></td>
<td><%=list.get(i).getGender() %></td>
<td><%=list.get(i).getHire_date() %></td>
</tr>
<%
} <-- 자바 명령문 닫기, 닫기 이전까진 자바의 코드를 사용할 수 있음 -->
%>
</table>
</body>
</html>
자바와 데이터베이스의 연동
package dec27java;
/*
* 자바와 데이터베이스 연동
* 데이터베이스 드라이버
* 마리아디비 드라이버
* 오라클디비 드라이버
* mySQL 드라이버 같이 각 SQL 에 맞는 드라이버가 필요
* .jar 파일이 필요 = connector
*
* localhost == 127.0.0.1
*
* 경로 url jdbc:mariadb://-----
* 아이디 user c23c_26
* 암호 pw 54321
*
* 하나의 클래스에 위 정보를 저장하고 사용할 경우
* 접속 정보 저장 클래스 = DBConnection
* 데이터 접속 객체 = DAO (Data Access Object)
* 데이터 전송 객체 = DTO (Data Transfer Object)
*/
public class Study {
public static void main(String[] args) {
}
}
금일 다시 데이터베이스에 연결해보기
DBConnection
package com.poseidon.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnection {
public Connection getConn() {
Connection conn = null;
try {
Class.forName("org.mariadb.jdbc.Driver");
String url = "jdbc:mariadb:/----";
conn = DriverManager.getConnection(url, "아이디", "비밀번호");
} catch (ClassNotFoundException e) {
// e.printStackTrace();
} catch (SQLException e) {
// e.printStackTrace();
}
return conn;
}
}
DepartmentsDTO
package com.poseidon.dto;
// 데이터 전송 객체, Data Transfer Object
public class DepartmentsDTO {
private String dept_no, dept_name;
public String getDept_no() {
return dept_no;
}
public void setDept_no(String dept_no) {
this.dept_no = dept_no;
}
public String getDept_name() {
return dept_name;
}
public void setDept_name(String dept_name) {
this.dept_name = dept_name;
}
}
DepartmentsDAO
package com.poseidon.dao;
import java.sql.Connection;
// 데이터 접속 객체, Data Access Object
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.poseidon.db.DBConnection;
import com.poseidon.dto.DepartmentsDTO;
public class DepartmentsDAO {
DBConnection dbConn = new DBConnection();
public List<DepartmentsDTO> selectDepartments() {
List<DepartmentsDTO> list = null;
Connection conn = dbConn.getConn();
PreparedStatement pstmt = null;
ResultSet rs = null; // 결과를 받는 명령어
String sql = "SELECT * FROM departments";
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
list = new ArrayList<>();
while (rs.next()) {
DepartmentsDTO dto = new DepartmentsDTO();
dto.setDept_no(rs.getString("dept_no"));
dto.setDept_name(rs.getString("dept_name"));
list.add(dto);
}
} catch (SQLException e) {
// e.printStackTrace();
System.out.println("오류 발생 : SQLException");
}
return list;
}
}
EmployeesDTO
package com.poseidon.dto;
public class EmployeesDTO {
private int emp_no;
private String birth_date, first_name, last_name, gender, hire_date;
public int getEmp_no() {
return emp_no;
}
public void setEmp_no(int emp_no) {
this.emp_no = emp_no;
}
public String getBirth_date() {
return birth_date;
}
public void setBirth_date(String birth_date) {
this.birth_date = birth_date;
}
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getHire_date() {
return hire_date;
}
public void setHire_date(String hire_date) {
this.hire_date = hire_date;
}
}
EmployeesDAO
package com.poseidon.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.poseidon.db.DBConnection;
import com.poseidon.dto.EmployeesDTO;
public class EmployeesDAO {
DBConnection dbConn = new DBConnection();
public List<EmployeesDTO> selectEmployees() {
List<EmployeesDTO> list = new ArrayList<>();
// Connection conn = dbConn.getConn();
// PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "SELECT * FROM employees Limit 0, 10";
try {
// pstmt = conn.prepareStatement(sql);
// rs = pstmt.executeQuery();
rs = dbConn.getConn().prepareStatement(sql).executeQuery();
while (rs.next()) {
EmployeesDTO dto = new EmployeesDTO();
dto.setEmp_no(rs.getInt("emp_no"));
dto.setBirth_date(rs.getString("birth_date"));
dto.setFirst_name(rs.getString("first_name"));
dto.setLast_name(rs.getString("last_name"));
dto.setGender(rs.getString("gender"));
dto.setHire_date(rs.getString("hire_date"));
list.add(dto);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
}
데이터베이스 값 출력하기
package com.poseidon;
import java.util.List;
import com.poseidon.dao.DepartmentsDAO;
import com.poseidon.dao.EmployeesDAO;
import com.poseidon.dto.DepartmentsDTO;
import com.poseidon.dto.EmployeesDTO;
public class Test {
public static void main(String[] args) {
DepartmentsDAO dao = new DepartmentsDAO();
List<DepartmentsDTO> list = dao.selectDepartments();
System.out.println(list);
for(int i = 0; i < list.size(); i++) {
System.out.print(list.get(i).getDept_no() + " : ");
System.out.println(list.get(i).getDept_name());
}
EmployeesDAO eDao = new EmployeesDAO();
List<EmployeesDTO> eList = eDao.selectEmployees();
for (int i = 0; i < eList.size(); i++) {
System.out.print(eList.get(i).getEmp_no() + " ");
System.out.print(eList.get(i).getBirth_date() + " ");
System.out.print(eList.get(i).getFirst_name() + " ");
System.out.print(eList.get(i).getLast_name() + " ");
System.out.print(eList.get(i).getGender() + " ");
System.out.println(eList.get(i).getHire_date());
}
}
}
html 작성하기
<%@page import="com.poseidon.dto.EmployeesDTO"%>
<%@page import="java.util.List"%>
<%@page import="com.poseidon.dao.EmployeesDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
EmployeesDAO dao = new EmployeesDAO();
List<EmployeesDTO> list = dao.selectEmployees();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- body 안에서 출력 -->
전체 글 수 : <%=list.size()%> <br><br>
<table border="1">
<thead>
<tr>
<th>emp_no</th>
<th>birth_date</th>
<th>first_name</th>
<th>last_name</th>
<th>gender</th>
<th>hire_date</th>
</tr>
</thead>
<%
for (EmployeesDTO dto : list) {
%>
<tbody>
<tr>
<%-- <td><%=list.get(0).getEmp_no()%></td>
<td><%=list.get(0).getBirth_date()%></td>
<td><%=list.get(0).getFirst_name()%></td>
<td><%=list.get(0).getLast_name()%></td>
<td><%=list.get(0).getGender()%></td>
<td><%=list.get(0).getHire_date()%></td> --%>
<td><%=dto.getEmp_no()%></td>
<td><%=dto.getBirth_date()%></td>
<td><%=dto.getFirst_name()%></td>
<td><%=dto.getLast_name()%></td>
<td><%=dto.getGender()%></td>
<td><%=dto.getHire_date()%></td>
</tr>
</tbody>
<%
}
%>
</table>
</body>
</html>
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>
<h1>아아아</h1>
<h2>ahahah</h2>
<h3>ahahah</h3>
<h4>ahahah</h4>
<h5>ahahah</h5>
<h6>ahahah</h6>
실제로 보는 화면
<태그 속성 = "값">화면에 보여줄 글자</태그>
<a href= "./index.jsp">인덱스</a>
<p>단락</p>
<div>영역</div>
<br> 줄바꿈
<img> 이미지
<hr> 줄
스페이스바를 여러 번 눌러도 한번 누른 것과 같음
엔터를 여러 번 눌러도
안 누른 것과 같음
<br>
글씨 크기를 <b>굵게</b> 만들어 줌
<br>
그럼 <strong>이것은 무엇</strong> 일까 <!-- 이것도 굵게 만들어 줌 -->
<br>
글씨를 기울임 <i>아이</i>
<br>
취소 선 만들기 <del>배고프다</del>
<br>
밑줄 만들기 <ins>배고프다</ins>
<br>
제곱 표시 x<sup>2</sup>
<br>
H<sub>2</sub>0 <!-- 글자를 제곱처럼 위가 아닌 아래로 내림 -->
</body>
</html>
'JAVA' 카테고리의 다른 글
240111 홈페이지 만들기 (2) | 2024.01.11 |
---|---|
240103 Java (0) | 2024.01.03 |
231226 Java (0) | 2023.12.26 |
231222 Java (0) | 2023.12.22 |
231221 Java (2) | 2023.12.21 |