Mybatis 로그에 쿼리 찍히게 하기
2025. 1. 28. 15:15ㆍJava/mybatis
서비스 쿼리마다 작업해줘야 함
@Service
public class UserService {
private static final Logger logger = LoggerFactory.getLogger(UserService.class);
@Autowired
private UserMapper userMapper;
@Autowired
private SqlSessionFactory sqlSessionFactory;
public List<User> getUsersOrderedBy(String columnName) {
// Prepare parameters
Map<String, Object> params = new HashMap<>();
params.put("columnName", columnName);
// Retrieve the mapped statement
MappedStatement mappedStatement = sqlSessionFactory
.getConfiguration()
.getMappedStatement("com.example.mapper.UserMapper.getUsersOrderedBy");
// Generate the BoundSql
BoundSql boundSql = mappedStatement.getBoundSql(params);
// Log the final SQL query
String finalSql = boundSql.getSql();
logger.info("Executing SQL: {}", finalSql);
// Execute the query
return userMapper.getUsersOrderedBy(columnName);
}
}
'Java > mybatis' 카테고리의 다른 글
Mybatis 실행쿼리 interceptor에 적용하기 (0) | 2025.01.29 |
---|---|
Mybatis 로그에 실행 쿼리 출력하기 (0) | 2025.01.29 |
Mybatis where절 if문으로 처리 (0) | 2025.01.19 |
Mybatis 쿼리 결과 출력하기 (0) | 2025.01.18 |
Mybatis 반복문 처리 (0) | 2025.01.15 |