일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- dbms
- c programming
- mybatis
- 미로 생성 알고리즘
- 풀스택
- css3
- Ajax
- jQuery
- 마이바티스
- 백엔드
- 제이쿼리
- 스프링
- 오라클
- 회원가입
- 비밀번호찾기
- 웹서비스
- 네비게이터
- jsp
- 프레임워크
- 웹개발
- 로그인
- javascript
- Linked List
- 웹페이지
- 서블릿
- html5
- Binding
- MVC
- 프론트엔드
- spring
- Today
- Total
목록mybatis (2)
Programmer's Progress

메시지 읽기 기능을 구현하는 과정을 설명하기 전에 먼저 웹서비스의 전반적인 구조를 변경했음을 밝힌다. 기존에는 스프링 프레임워크, 마이 바티스 프레임워크 등, 프레임워크의 도움을 받지 않고 라이브러리 추가부터 의존관계 구성, MVC 패턴으로 설계 등등 많은 것들을 직접 구현했었다. 하지만 스프링 프레임워크를 사용하지 않고는 DAO, Service, Controller 등의 클래스 객체들이 각각의 객체들의 정보를 담아두도록 일일이 생성자 및 setter( ) 메서드를 설정하기란 번거로운 일이었고 또한 마이바티스 프레임워크 없이 DAO클래스에서 질의를 수행할 때에는 일일이 SQL문을 작성해주어야 했기에 상당히 가독성도 떨어지고, SQL문을 작성하는 것도 어려웠다. 특히 DBMS에서 단일 SQL문에 대해서는 ..

본격적으로 백엔드 개발을 공부하기 시작하면서 상당히 많은 SQL문을 작성했었다. 가령 회원의 목록을 질의하는 것부터, 회원 추가, 삭제, 수정, 계층형 게시판, 답글 등등 심지어는 3중 SELECT문을 활용하기도 했었다. 그 외에도 여러 SQL문을 한 번에 수행해야 할 때도 있었다. 가령, 게시판에 새로운 글을 추가할 때에는 반드시 현존하는 게시글중에서 가장 큰 번호를 가진 게시글의 번호보다+1된 값을 새 게시글의 번호로 사용해야 할 때가 있었다. 그런데 만약 우연하게도 동시에 두 사용자가 게시글 작성을 했다면 어떻게 될까? 물론 단일 SQL 질의에 대해서는 DBMS가 동시성제어를 통해 마치 OS에서 프로세스 간의 공유 자원을 동기화하기 위해 세마포어나 락을 사용하듯, DBMS도 마찬가지로 ACID의 원..