DAO 정의 Data Access Object 의 약자로 데이터베이스의 data에 접근하기 위한 객체입니다. DataBase 접근을 하기 위한 로직과 비지니스 로직을 분리하기 위해 사용합니다. DAO의 경우는 DB와 연결할 Connection 까지 설정되어 있는 경우가 많습니다. 그래서 현재 많이 쓰이는 Mybatis 등을 사용할 경우 커넥션풀까지 제공되고 있기 때문에 DAO를 별도로 만드는 경우는 드뭅니다. DAO 클래스 예제 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class TestDao { public vo..
전체 글
IT Blog게시판과 게시글의 id 를 아래와 같이 Long으로 선언하였다. id를 Long으로 선언한 이유는 데이터의 양을 예측하기 어렵기 때문이다. 1. Wrapper class vs Primitive class 1) Wrapper class 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 한다. Wraper class 는 값이 null이어도 된다. 하지만 만약 코드에서 null로 인해 오류가 발생했을 때 이를 바로잡는 것이 어렵다. 따라서 null값이 아니기를 보장하고 싶다면, Primitive class를 사용하면 된다.(Primitive class는 null일 수 없다.) 2. Custom exception 사용 이유 1. 오류..
#pragma warning (disable: 4996) #include #include #include #include using namespace std; int N, X; int T; void init_map(int m[][21]) { for (int i = 0; i 1..
https://www.acmicpc.net/problem/21611 21611번: 마법사 상어와 블리자드 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, ( www.acmicpc.net #include #include #include #pragma warning(disable : 4996) using namespace std; int N, M; int cnt[4] = { 0, }; int map_idx[50][50]; int shark; //아래 오른 위 왼 int dy[4] = { 1, 0, -1, 0 }; int dx[4] = { 0, 1 , 0, -1 };..
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net #pragma warning(disable : 4996) #include #include #include #include using namespace std; int T, N; int com[21][21]; //right down left up int dy[4] = { 0,1,0,-1 }; // row int dx[4] = { 1,0,-1,0 }; // col void..
#pragma warning(disable : 4996) #include #include #include using namespace std; int T, N; int com[21][21]; int tile[21][21]; int tile_col_row[21][21]; //right down left up int dy[4] = { 0,1,0,-1 }; // row int dx[4] = { 1,0,-1,0 }; // col void copy_arr(int dst[][21], int src[][21]) { for (int i = 0; i < 21; i++) { for (int j = 0; j < 21; j++) dst[i][j] = src[i][j]; } } void init(int arr[][21]) { ..
#include #include #define MAX 17 #define INT_MAX 2147483647 using namespace std; int T,N,W,H; int map[MAX][MAX]; int ans; int dr[] = { 0, -1, 0, 1 }; int dc[] = { -1, 0, 1, 0 }; void input(int w, int h) { for (int i = 1; i
//user_code #include using namespace std; struct Place { int r_plus_c_idx; int r_minus_c_idx; int r_idx; int c_idx; int uID; int pID; int r; int c; int infected; Place* dir[8]; }; Place * place[50001]; int uIDX[10001]; Place* user[10001][100]; Place * R_plus_C[20001][10]; // 1, 5 Place * R_minus_C[20001][10]; // 3, 7 Place * R[10001][10]; Place * C[10001][10]; void init() { memset(uIDX, 0, sizeo..