pom.xml 추가
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.2</version>
</dependency>
application.properties 필요한 것만 추가
mybatis.type-aliases-package=com.javalab.myhome.model
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.mapper-locations=classpath:mapper/**/*.xml
camel case 추가 시 user_age로 검색해도 userAge로 검색
mapper 경로 지정
mybatis 사용을 위해 mapper 패키지 추가
UserMapper
@Mapper
public interface UserMapper {
List<User> getUsers(@Param("text") String text);
}
@Mapper 어노테이션 추가
@Param : 쿼리에서 어떤 변수명으로 사용할지 지정
user.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.javalab.myhome.mapper.UserMapper">
<select id="getUsers" resultType="User">
SELECT *
FROM user
WHERE username LIKE CONCAT('%', #{text}, '%')
</select>
</mapper>
@Param에서 지정한 변수명을 #{} 사이에 넣는다.
log에도 SQL문을 확인할 수 있다.
2024-02-25 16:10:38.592 DEBUG 22780 --- [nio-8080-exec-1] c.j.myhome.mapper.UserMapper.getUsers : ==> Preparing: SELECT * FROM user WHERE username LIKE CONCAT('%', ?, '%')
2024-02-25 16:10:38.621 DEBUG 22780 --- [nio-8080-exec-1] c.j.myhome.mapper.UserMapper.getUsers : ==> Parameters: dong(String)
2024-02-25 16:10:38.655 DEBUG 22780 --- [nio-8080-exec-1] c.j.myhome.mapper.UserMapper.getUsers : <== Total: 2
2024-02-25 16:11:33.159 DEBUG 22780 --- [nio-8080-exec-4] c.j.myhome.mapper.UserMapper.getUsers : ==> Preparing: SELECT * FROM user WHERE username LIKE CONCAT('%', ?, '%')
2024-02-25 16:11:33.160 DEBUG 22780 --- [nio-8080-exec-4] c.j.myhome.mapper.UserMapper.getUsers : ==> Parameters: dong2(String)
2024-02-25 16:11:33.161 DEBUG 22780 --- [nio-8080-exec-4] c.j.myhome.mapper.UserMapper.getUsers : <== Total: 1
'온라인 강좌 > 유튜브 강의' 카테고리의 다른 글
Spring Boot 13. JPA를 이용한 커스텀 쿼리 만들기 (0) | 2024.02.21 |
---|---|
Spring Boot 12. 권한에 맞는 화면 구성 및 API 호출 (0) | 2024.02.20 |
Spring Boot 11. JPA로 조회방법(FetchType) 설정하기 (0) | 2024.02.20 |
Spring Boot 10. JPA를 이용하여 @OneToMany 관계 설정하기 (0) | 2024.02.20 |
Spring Boot 9. Spring Security를 이용한 로그인 처리 (0) | 2024.02.19 |