본문 바로가기

JAVA

231227 Java

전일 만들었던 내용

<%@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