[Mini Project] 밝은빛 도서관-4

JUNHO YEOM·2023년 1월 11일
0

밝은 빛 도서관 마지막 이야기

MyBatis 한번 써볼까?

MyBatis를 적용하는 방법에 대해서 배우고,
MyBatis를 밝은 빛 도서관에 적용하는 작업을 진행했다.
기존에는 DAO에 쿼리들 까지 같이 있어서 코드도 더 길어지고,
처리하는 코드들도 있어서 지저분했지만,
MyBatis를 적용하고 나서
DAO에 있는 코드들이 줄어 들고 가독성이 좋아지고, 마음이 편안해지는 놀라운 효과를 경험했다.


이랬던 우리 아이가

public UserVO findOne(String user_id) {
		String sql = "SELECT * FROM user where user_id=?";
		UserVO result = null;
		try {
			PreparedStatement pstmt = con.prepareStatement(sql);
			pstmt.setString(1, user_id);
			ResultSet rs = pstmt.executeQuery();
			if (rs.next()) {
				result = new UserVO(
                	rs.getString("user_id"), 
	                rs.getString("user_password"),
                    rs.getString("user_name"),
					rs.getInt("user_point"));
			} 
			rs.close();
			pstmt.close();
			con.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return result;
	}



이렇게 달라졌어요

	// 유저 id로 찾기(아이디 중복 확인)
	public UserVO selectOne(String user_id) {
		return session.selectOne("library.User.selectOne", user_id);
	}

마음의 평화를 찾았습니다.


프로젝트의 마무리

새로운 JavaScript를 배우기 위한 수업에 들어가야 하는 기간이 들어가면서 프로젝트 기간이 끝나게 되었다.

아쉬웠던것

1. 계획한 모든 기능을 구현하지는 못했다.

로그 테이블을 만들어서 동작이 수행될 때 로그 기록으로 작업들을 기록하고 싶었지만,
시간 문제상 구현하지 못했고,
유저 포인트 테이블도 제작은 완료 하였지만, Java 코드로 구현하지 못했다.

2. JavaFX를 끝까지 사용한것

프로젝트의 기간이 지나갈 수록 Scene Builder를 사용한 사람들의 퀄리티와
속도가 가파르게 상승하기 시작했다.
JavaFX를 통해서 화면을 만들면서 컴퍼넌트를 하나하나 만들어서 구현하다 보니 지치기도 했다.
반면에 Scene Builder를 이용한 사람들은 화면을 구현하는데 FX만큼의 시간이 필요하지 않았고,
그때는 JavaFX로 그대로 가는것이 효율적이라고 생각했지만, 실제로는 그렇지 않았다.
xml형식의 파일이 만들어 져서 사용하는 경험도 좋은 경험이었을 것 같고,
작업물의 퀄리티도 더 좋았던것 같다.


좋았던것

1. SQL을 많이 사용했던 것

그동안은 ORM을 사용하며 직접 쿼리를 작성할 일이 거의 없었다.
프로젝트를 진행하면서 Table을 제작하고, Columnd을 수정하고,
실행하기 위한 모든 Query를 고민하고 제작하다보니 SQL에 대한 이해가 늘었던것 같다.

2. 많은 실패를 해본것

DB구조를 짜면서도 여러번의 실수가 있어서 여러번 수정했고,
데이터를 다룰때도, primary key를 기준으로 사용하지 않기도 하는 등
작은 실수, 큰 실수도 많이 하면서 배운게 많았다.
아... 앞으로는 이렇게 하면 되겠구나 라는 생각을 많이 해보게 되었고,
앞으로 다시 프로젝트를 진행한다면 이런 방식으로 사용해야겠다 라는 생각이 들게 되었다.
경험 할 수 있을 때 많은 실패와 고민을 해보고 조금씩 더 나아지는 경험으로 만들어 갈 수 있는
프로젝트가 된것 같고, 앞으로 진행하게될 프로젝트에서는 더 나은 프로젝트를 만들 수 있을 것 같다

0개의 댓글