일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- jdk
- tomcat
- sonarQube
- post
- Collection
- 액세스회선
- 소켓
- mybatis
- docker
- 라우터
- 방화벽
- Java
- 캐시서버
- JPA
- DevOps
- LAN어댑터
- gradle
- Pipeline
- map
- Spring
- Jenkins
- container
- 허브
- STREAM
- cloud
- IntelliJ
- ansible
- Set
- AOP
- Linux
- Today
- Total
목록mybatis (7)
거북이-https://velog.io/@violet_evgadn 이전완료
EntityManger 생성 방법 먼저 이론적인 방법을 설명하겠다. 이론적인 방법을 설명하는 이유는 Spring Boot 사용 여부에 따라 EntityManager 사용 방법이 완전히 다르기 때문이다. 지금 설명하는 방법은 Spring Boot를 사용하지 않을 경우 EntityManger를 생성하는 방법인데 Spring Boot를 활용하더라도 이런 개념이 바뀌는 것은 아니고 단순히 Spring Boot가 중간 과정을 담당해주기 때문에 더욱 편리하게 설정 및 EntityManager를 생성할 수 있게 되는 것이다. JPA도 큰 의미로 보자면 MyBatis의 동작 방식과 유사하다. MyBatis는 SqlSessionFactory라는 것이 Query가 필요할 때마다 SqlSession을 생성하여 Query를 ..
if MyBatis 동적 SQL에서 가장 널리 활용되는 것이 if가 아닐까 생각한다. MyBatis에서 결국 동적 SQL은 "어떤 값이 NULL일 때는 조건문에 추가시키지 말고, 값이 존재할 때만 조건문에 추가시켜주세요" 같은 요청을 처리할 때 많이 활용되고 이를 처리하기 위한 가장 적절한 동적 SQL이기 때문이다. WHERE문에 많이 활용되기는 하지만 ORDER BY, GROUP BY 등에서도 를 활용할 수 있다. ◎ 간단한 if 활용 SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title like #{title} AND author_name like #{author.name} 분명 MyBaits로 짰는데 신기하게도 무슨 말인지 바로 이해할 수 있을 것 같다. 만약..
ResultMap 우리가 MyBatis를 활용하는 이유는 무엇일까? 물론 Query에 객체 값을 넣어줘서 자동으로 내가 원하는 Query를 생성해주고 동적 SQL을 통해 상황에 맞는 Query를 생성할 수 있다는 점도 있을 것이다. 하지만, 개인적으로 생각하는 MyBatis나 ORM의 가장 큰 장점은 "결과를 객체에 담아준다"라는 것이다. 원래라면 DB에서 데이터를 뽑을 때는 단순한 데이터의 형태일 뿐이다. 예를 들어, Name이라는 Column에 "홍길동"이라는 Data가 들어있다고 하더라도 DB에서 뽑으면 단순히 "홍길동"이라는 Data가 뽑힐 뿐, 후처리 코드를 통해 내가 원하는 객체에 이 Data를 넣어줘야 한다. 하지만 MyBatis나 ORM은 Column과 객체 Property를 자동으로 매핑..
settings 런타임 시 마이바티스의 행위를 조정하기 위한 값들이다. ◎ settings 설정 방법 및 적용 먼저 위 파일과 같이 XML Config 파일을 만들어줘야 한다. 방법은 간단한데 ~ 으로 SQL이 아닌 Config에 대한 파일임을 알려주고, 를 통해 우리가 원하는 설정값들을 지정해주면 된다. SqlSessionFactory 설정을 설명할 때 setConfigLocation()에 대해 설명한 적이 있었는데 바로 이 메서드를 활용할 차례이다. 하드 코딩을 하거나 application.properties에 Config XML 파일의 경로를 입력해준 뒤 경로를 SqlSessionFactoryBean에 먹여주면 된다. 이후 SqlSessionFactory는 해당 설정을 가지는 SqlSession을 ..
들어가기 앞서... 이전에 우리는 MyBatis를 실행하기 위해서는 SqlSessionFactory라는 객체가 존재해야 하고, SqlSessionFactory가 매 Request마다 SqlSession을 만들어서 Query를 수행함을 배웠다. 따라서 이번 Section에서는 MyBatis의 주체라고도 말할 수 있는 SqlSessionFactory에 대한 설정을 해보겠다. 사전 작업(이전 Section 참고) 먼저 application.properties의 설정은 이전 Section과 마찬가지로 수행해준다. 우리는 MySQL을 활용하기로 하고 현재 프로젝트 구조는 아래와 같다고 가정하자 # application.properties 설정 spring.datasource.driver-class-name=com..
Gradle에 의존성 추가 build.gradle의 dependencies 위치에 2개의 의존성만 추가해주면 된다. implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.4' implementation "mysql:mysql-connector-java:5.1.44" application.properties 설정 MyBatis 같은 경우 "DB"를 활용하기 위한 기술이다 보니 일단 어떤 DB를 활용할 것인지 지정해줘야 한다. (DB 설치 및 활용 방법 같은 경우 나중에 포스팅하도록 하겠다) 이후 application.properties에 "어디에 Mapper가 위치해있는가"에 대한 정보를 입력해 줄 필요가 존재한다. Mapper I..
웹 프로젝트 구성 먼저 MVC 구조를 활용한 Web 프로젝트 구성을 살펴보자. 웹프로젝트는 일반적으로 3개의 Layer로 구성되어 있는데 Presentation Layer, Service Layer, Data Access Layer로 구성된다. 먼저 Presentation Layer는 UI를 담당하는 구성요소로써 MVC 구조에 해당하는 요소들이 이 곳에 포함되어 있다. Service Layer(Business Layer라고도 함)은 어떤 형태의 데이터가 필요하며 반환될 것인지에 대한 로직이 구현되어 있는 Layer를 말한다. 즉 MVC 구조에서 Controller가 Model과 View 사이에 징검다리 역할을 하며 핵심 로직을 수행하는데, 이 "핵심 로직이 구현된 Layer"가 Service Layer라..