강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của mins1996001780
mins1996001780

câu hỏi đã được viết

Giới thiệu về Phát triển Web Spring Boot - Tìm hiểu bằng cách làm theo

Chi tiết đơn hàng hoạt động (sử dụng đối tượng VO)

검색기능이 안됩니다

Viết

·

149

0

 

@PostMapping("/order_search")
public String doSearch( @RequestParam("start_date") String strStartDate,
                        @RequestParam("end_date") String strEndDate,
                        @RequestParam(value = "coffee", defaultValue = "ALL") String strCoffee,
                        @RequestParam("name") String strName,
                        Model model

){

    log.info("strStartDate :"+strStartDate);

    List<Order_list> list = orderSvcV2.doSearch(strStartDate,strEndDate, strCoffee,strName );

    model.addAttribute("list", list);

    return "/v2/order/order";
}
/* 조회하기 */
public List<Order_list> doSearch(String strStartDate, String strEndDate, String strCoffee, String strName) {
    List<Order_list> list = orderDao.doSearch(strStartDate,strEndDate, strCoffee,strName );
    return list;
}
package hello.sailing.v2.dao;

import hello.sailing.v2.vo.Order_list;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

@Mapper
public interface OrderDaoV2 {
    List<Order_list> doList();

    List<Order_list> doSearch(String strStartDate, String strEndDate, String strCoffee, String strName);
}
package hello.sailing.v2.vo;

import lombok.Data;

@Data
public class Order_list {
    private String no;
    private String coffee_no;
    private String coffee;
    private String price;
    private String cust_id;
    private String name;
    private String reg_day;

}

<!-- 검색에 의한 쿼리 -->
<select id="doSearch" resultType="hello.sailing.v2.vo.Order_list">
    SELECT no, coffee_no, coffee, price, cust_id, name,
    DATE_FORMAT(reg_day,'%Y.%m.%d') AS reg_day
    FROM order_list
    WHERE 1=1
    AND reg_day >= DATE_FORMAT( #{strStartDate},'%Y%m%d')
    AND reg_day &lt; DATE_ADD(DATE_FORMAT(#{strEndDate},'%Y%m%d'), INTERVAL +1 DAY)
    <if test="strCoffee != 'ALL'">
        AND coffee like CONCAT(#{strCoffee},'%')
    </if>
    <if test="strName != 'ALL'">
        AND name like CONCAT(#{strName},'%')
    </if>
</select>

화면에서는 조회버튼을 누르면 검색이 안됩니다...코드는 틀린게 없는데 왜 그런거죠?

springmvcspring-boot

Câu trả lời 3

0

mins199600님의 프로필 이미지
mins199600
Người đặt câu hỏi

액션태그가 강의내용에서 설명이 빠져서 없어서 그런거예요!!

0

mins199600님의 프로필 이미지
mins199600
Người đặt câu hỏi

select 태그는 문제가 없어요! action 태그 설명이 없어서 그거 빠뜨려서 그랬는데 이번엔 검색이 아예 안되네요

0

안녕하세요, 인프런 AI 인턴입니다. mins199600님.

화면에서 조회 버튼을 눌러도 검색이 되지 않는 문제에 대해 알아보겠습니다. 코드를 살펴보았을 때 문제가 발생할 수 있는 몇 가지 일반적인 원인을 짚어보겠습니다:

  1. 자바스크립트 AJAX 호출 확인:

    • PostMapping이 사용되었으므로, 조회 버튼이 POST 요청을 보내도록 구현되어 있어야 합니다.
    • 자바스크립트를 사용하여 폼 제출을 하고 있는 경우, AJAX 요청이 제대로 보내지고 있는지, URL과 HTTP 메서드가 올바르게 설정되어 있는지 확인해보세요.
  2. 폼 데이터 확인:

    • 등록되어 있는 폼에서 @RequestParam에 명시된 파라미터들이 제대로 서버로 전달되고 있는지 확인해 주세요. 예를 들어, start_date, end_date 등의 입력 필드에 올바른 값이 들어간 상태로 제출되고 있는지 확인합니다.
  3. SQL 조건문 확인:

    • XML에서 사용된 조건문이 잘못될 경우 데이터가 추출되지 않을 수 있습니다. #{}를 사용한 바인딩이 MyBatis에서 제대로 동작하는지, 특히 DATE_FORMAT 함수가 반환하는 형식과 기준이 맞는지 확인해야 합니다.
    • 조건에 따라 SQL 문이 예상대로 작동하지 않는 경우가 있으므로, SQL 쿼리를 로그로 기록하여 실행된 쿼리를 확인해 보면 좋습니다.

유사한 문제에 대한 해결 방법은 아래 링크들을 통해 추가적인 도움을 받을 수 있습니다:

  1. MyBatis 조회하기(7-2강) 실습시 오류가 발생합니다.
  2. 7장 insert mapper error 문의합니다

위의 내용을 확인하시면서 문제를 해결해보시면 좋겠습니다. 만약 확인해도 문제가 해결되지 않으면, 오류 메시지를 좀 더 상세히 확인하거나 추가적인 콘솔 로그를 통해 디버깅하는 과정을 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

mins199600님의 프로필 이미지
mins199600
Người đặt câu hỏi

다 봤는데 문제가 없어요..

mins199600님의 프로필 이미지
mins199600
Người đặt câu hỏi

A label tag was parsed inside of a <select> which was not inserted into the document. This is not valid HTML and the behavior may be changed in future versions of chrome. <select>​ [검색조건] 등록기간​</select>​

이 오류가 자꾸 나는데요?

select 태그를 잘못 사용하신거 같은데요

mins199600님의 프로필 이미지
mins199600
Người đặt câu hỏi

아니예요!! 액션태그를 안줘서 그래요!! 강의 내용에 빠져있었어요

Hình ảnh hồ sơ của mins1996001780
mins1996001780

câu hỏi đã được viết

Đặt câu hỏi