본문 바로가기

전체 글115

[마이바티스] - 동적 쿼리 아주 간단한 예시 mybatis – 마이바티스 3 | 동적 SQL 동적 SQL 마이바티스의 가장 강력한 기능 중 하나는 동적 SQL을 처리하는 방법이다. JDBC나 다른 유사한 프레임워크를 사용해본 경험이 있다면 동적으로 SQL 을 구성하는 것이 얼마나 힘든 작업인지 mybatis.org 마이바티스의 장점 중 하나는 동적 쿼리를 작성할 수 있다는 점인데, 동적 쿼리란 조건에 따라 쿼리 자체를 뜯어 고치는 것을 말한다. 단순히 #{} 구문으로 데이터를 집어 넣는 개념과는 다르다. 예를 들어, 위와 같은 쿼리를 작성할 수 있을 것이다. 이 코드는 태그를 이용해 조건절을 동적으로 생성하고 있다. 예를 들어, finished의 값이 true라면 finished=1 조건을 넣고 싶고, false라면 조건을 넣고 싶지 않고 싶을 때.. 2024. 1. 20.
[Model Mapper] - Model Mapper 라이브러리 및 DTO, VO가 분리되는 이유 1. 웹 MVC 패턴 MVC 패턴은 웹에서 사용되는 기초적인 디자인 패턴으로, 사용자의 요청에 대해 컨트롤러가 주도적으로 요청을 받고, 그것을 해석해 모델에서 적절한 처리를 요청한뒤, 그 결과를 뷰에 전송하는 패턴을 말한다. 객체지향이 으레 그렇듯이, 이러한 분업의 원리는 각자 자신이 해야할 것을 독립적으로 분리하고 각자의 역할에 전담하기 위해서다. 뷰(view)는 데이터를 받아 적절한 데이터 구조 및 그래픽 모양에 알맞게 배치하는 역할을 담당하고, 컨트롤러(controller)는 사용자의 요청을 해석해 모델과 뷰를 이어주는 역할이다. 모델(model)은 다소 추상적인데, 컨트롤러와 뷰를 제외한 나머지가 모델로 불리는데다 내부적으로 다시 여러 계층의 합으로 구성되기 때문이다. 크게 보면 모델(Model).. 2024. 1. 16.
[자바] - 커넥션 풀(HikariCP)과 DataSource 스펙 1. JDBC 프로그래밍의 문제점 JDBC는 JavaSE의 표준 스펙 중 하나로, 데이터베이스 서버와 연결해 SQL 쿼리를 실행할 수 있게 만든 자바 표준 API다. API에 불과하므로 구체적인 데이터베이스와 연결해 사용하기 위해서는 데이터베이스 회사(MySQL, Oracle, MariaDB, ....)에서 만든 JDBC 드라이버가 필요하다. 이 드라이버 라이브러리는 maven repository에서 아주 쉽게 다운받을 수 있다. // 커넥션에 필요한 정보 String url = "jdbc:mariadb://localhost:3306/db"; String user = "user"; String password = "1234"; // JDBC 사용 코드 Class.forName("org.mariadb.jd.. 2024. 1. 11.
대단하고 화려하고 멋진 것이 아니어도 괜찮다. 출처 : 10년간 꾸준히 자동수익을 만들어내기 위해 필요했던 코딩실력 (youtube.com) 제가 이 성과를 내게 됐던 이 앱은 사용자간의 메시지를 주고 받을 수 있게 하는 간단한 기능만 있는 안드로이드 기반의 앱이었습니다. 저는 주로 웹 개발을 하던 사람이었던 터라 안드로이드 앱 개발은 처음이었기 때문에 배워가면서 빠르게 상당히 미숙한 수준으로 앱을 완성을 시켰었죠. 당시의 안드로이드 버전에서는 에러가 나는 것까지는 아니고, 네트워크 통신을 할 때 앱이 멎어버리는 그런 현상이 있었습니다. ANR이라고 부르는 현상인데요. 당시에는 안드로이드에 이런 현상이 있었다는 것조차 모르고 그냥 아무렇게나 앱을 만들었던 겁니다. 그러다보니까 앱이 작동 중에 네트워크 통신하면 그 동안에는 굳기도 하고 그랬었죠. 그런.. 2024. 1. 10.