본문 바로가기

IT 공부/자바와 웹 애플리케이션37

[자바] - JDBC 드라이버 표준 타입 매핑 1. java의 데이터 타입과 DB의 데이터 타입 변환 문제 개발을 하면서 데이터를 영구 처리하고 싶을 때는 데이터베이스를 활용한다. 이때 데이터베이스는 종류가 굉장히 많은데, 관계형 데이터베이스만 해도 MySQL, Oracle, Postgre 등이 있다. 데이터베이스를 클라이언트 프로그램으로 서버와 직접 통신해서 사용할 수도 있다. 그러나 자바 애플리케이션 개발을 할 때는 자바 애플리케이션이 데이터베이스 서버와 연결을 시도하고 쿼리를 날려야 한다. 이 사이를 매개하는 기술이 JDBC이며, JDBC는 JavaSE 표준이다. 물론 MyBatis, JPA 같은 기술이 많다. 하지만 그 모든 기술도 내부적으로는 JDBC를 사용한다. 그런데 각 데이터베이스는 각자의 데이터 타입을 구현해 사용한다. 대부분 큰 그.. 2024. 1. 8.
[마이바티스] - 마이바티스 스프링 빌드 방법 마이바티스는 단독으로도 라이브러리를 사용할 수 있지만(링크를 클릭하면 방법이 나온다), 친절하게도 스프링 프로젝트에서는 마이바티스를 함께 사용하는 라이브러리를 제공해준다. 이를 이용하면 아주 쉽게 스프링 프로젝트에서 마이바티스를 이용할 수 있다. 실제로 스프링 프로젝트 시 마이바티스를 단독으로 사용하진 않는다고 들었다. 내가 따로 마이바티스 단독 설정을 정리하고 포스팅한 이유는 스프링에서 마이바티스 설정 시, 단독 과정과 비교하면 설정을 이해하기가 수월하기 때문이었다. 그 내용을 간략하게 요약하면, 1) SessionFactory에게 파일로 데이터베이스 드라이버와 Datasource, 그리고 매퍼 xml을 알려준다. 2) SqlSessionFactory가 xml 정보를 토대로 session을 생성하고, .. 2024. 1. 7.
[스프링] - Formatter 개념 정리 1. 파라미터 자동 수집과 포매터 스프링 웹 MVC의 장점 중 하나는 쓸데 없는 코드를 줄일 수 있다는 점이다. 쿼리 스트링 등으로 전달되는 파라미터를 자동으로 캐치하고 형 변환을 통해 인자로 바로 전달할 수 있다는 점도 엄청난 장점이다. 이전에는 HttpServletRequest에서 getParameter()를 통해 일일이 문자열 데이터를 받아 형변환을 했지만, 스프링에서는 그런 코드는 생략된다. 하지만 생략되는 만큼 문제가 발생하는 법! 특히 HTTP 요청의 쿼리 스트링이나 body에 포함되는 데이터는 기본적으로는 문자열이다. 문자열을 자동으로 String, int, long, boolean으로 형변환하는 데는 아주 크게 무리는 없지만, 문자열을 원하는 객체 타입으로 바꾸려면 개발자가 설정을 해줘야 .. 2024. 1. 6.
[스프링] - 스프링 웹 MVC 프로젝트 세팅 방법 # 스프링 프레임워크 프로젝트 생성 # 스프링(Spring) 프레임워크는 웹에 주로 사용되지만 그렇다고 웹에 종속된 프레임워크가 아니다. 스프링은 의존성 주입(Dependency Injection) 기법을 적용한 객체지향 프레임워크다. 따라서 스프링의 코어는 의존성 주입과 관련된 기술이고, 바로 여기에 웹MVC와 같은 라이브러리를 추가로 설정해 웹 프로젝트로 만들어 사용하는 것이다. 여기서는 웹을 기반으로한 스프링 프레임워크 프로젝트 세팅에 대해 정리하려고 한다. 왜냐하면 자바 스프링 프로젝트는 언제나 프로젝트 세팅이 까다로웠기 때문이다. 이 참에 정리해보았다. ※ 원래 프로젝트 빌드 시, 롬복(lombok)이나 로그(log4j2)를 함께 쓰지만, 여기서는 순수하게 스프링만 파악하기 위해 일부러 생략해보.. 2024. 1. 6.