일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Spring
- c#
- Winform
- 리액트
- git
- 도커
- Spring Boot
- springboot
- react
- DataGridView
- kubernetes
- Python
- github
- machine-learning
- Kotlin
- 마이바티스
- 스프링부트
- 자바
- docker
- 쿠버네티스
- 스프링
- VOA
- mybatis
- 코틀린
- MySQL
- Java
- AWS
- 리팩토링
- design pattern
- 파이썬
Archives
- Today
- Total
보뇨 다이어리
mybatis 사용시 디비에 데이터를 가져오지 못하는 에러 본문
반응형
와..........진짜 이거때문에 어제 디지는줄알았따...ㅠㅠㅠㅠ 드뎌 20시간만에 깨달았다
이런건 또 혼자만 알기아까우니 무조건 공유!
자자...이렇게 흥분한 이유는 간단하다 난 쿼리를 썻다.. 아래 쿼리는 굉장히 보기 힘들지만 단순히 조건절을 보면된다
예를 들어 46번줄의 limit 가 널이 아닐경우 오더바이할때 한정된 데이터만 가져오게할려고한다
근데 저 limit 이란거는 parameter model class 에 멤버변수로 지니고 있어야하는데 본인의 경우 뭔 생각인지 몰라도 이걸빼먹음...;;;;
그래서 limit 이라는 파라미터가 없어도 아예 쿼리 실행을 못하는것이다!! 이건 모르고 있었음... 아예 디비에 접근조차못한다는게..
결론은 모든 변수들은 파라미터 모델 클래스안에 멤버변수로 지니고 있어야한다~ 이것이다(진짜 간단한건데 이걸....흐흐흑)
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <!-- get commute_record data --> <select id="getCommuteRecordSelectList" resultType="com.tistory.vessel.api.vo.CommuteRecordVO"> SELECT r.id , UNIX_TIMESTAMP(r.come) as come , UNIX_TIMESTAMP(r.leave) as `leave` , r.employee_id , r.division_id , r.manager_id , r.come_match , r.leave_match , r.pad , valid , e.wage , come_beacon , leave_beacon FROM commute_record as r inner join employee as e on r.employee_id = e.id left outer join grade as g on e.grade_id = g.id <trim prefix="WHERE" prefixOverrides="AND|OR"> <if test="employee_id != null">AND e.id = #{employee_id}</if> <if test="company_id != null">AND d.company_id = #{company_id}</if> <if test="valid != null">AND r.valid = #{valid}</if> <if test="manager_id != null">AND (e.manager_id = #{manager_id} OR e.id = #{manager_id})</if> <if test="hourly_wage != null">AND e.hourly_wage = #{hourly_wage}</if> <if test="division_id != null">AND r.division_id = #{division_id}</if> <if test="come_gt != null"><![CDATA[AND r.come >= from_unixtime(#{come_gt})]]></if> <if test="come_lt != null"><![CDATA[AND r.come <= from_unixtime(#{come_lt})]]></if> <if test="leave_gt != null"><![CDATA[AND r.leave >= from_unixtime(#{leave_gt})]]></if> <if test="leave_lt != null"><![CDATA[AND r.leave <= from_unixtime(#{leave_lt})]]></if> <if test="come_match != null"> <if test="is_upper == false"> <![CDATA[ AND (r.come_match < #{come_match} or r.come_match is null) ]]> </if> <if test="is_upper == null or is_upper != false"> <![CDATA[ AND r.come_match >= #{come_match} ]]> </if> </if> ORDER BY r.come DESC <if test="limit != null">limit #{limit}</if> </trim> <insert> | cs |
반응형
'컴퓨터 관련 > DB 정보' 카테고리의 다른 글
mybatis date 조건 비교처리 (0) | 2018.08.14 |
---|---|
쿼리 리팩토링하기 1 (0) | 2018.08.14 |
마이바티스 리팩토링하기 2 (0) | 2018.07.31 |
마이바티스 리팩토링하기 1 (0) | 2018.07.31 |
FROM_UNIXTIME, TIME 사용 (0) | 2018.07.17 |