일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 머신러닝
- Winform
- 리팩토링
- 파이썬
- MySQL
- AWS
- Java
- Spring Boot
- VOA
- 도커
- kubernetes
- machine-learning
- 리눅스
- 쿠버네티스
- springboot
- 스프링부트
- react
- 영어공부
- DataGridView
- github
- git
- 스프링
- Spring
- c#
- 리액트
- mybatis
- Python
- docker
- 마이바티스
- Today
- Total
목록마이바티스 (11)
보뇨 다이어리
오호라....마크다운을 쓸수있는지몰랐는데 앞으로 마크다운으로 작성하겠음!! 헤헤헤 우선 마이바티스 xml 코드를 보면 이런식으로 되어있음 resultType 에 있는 경로에 모델클래스의 멤버에는 id, student_id, graduate_datetime 이 존재함 select id, student_id, date_format(graduate_datetime, '%Y-%m-%d') from student_graduate where student_id = #{id} and is_alive = 1 order by id desc limit 1 근데 이상하게 가져오면 이런식으로 가져오게 된다 { "id":1, "student_id":230, "graduate_datetime": null } sta..
예전에 골머리썩히다가 오늘 같은 이슈가 발생해서 생각해보니 아주 간단하게 풀림일단 아래를 전형적인 update 쿼리부분이다 업데이트할시 해당 Row 의 유니크값을 가져오고 싶은데 기존에 써먹던 selectKey 는 쪽에서 먹히지않는다 1234567 UPDATE node version=#{version}, WHERE manager = #{manager}Colored by Color Scriptercs 그렇기때문에 seleectKey 가 되는 로 해주면 된다 단지 생각만 쫌 바꾸면 되는문제다아래와 같이 :) 그럼 이만 참고로 5번줄에서 limit 1 을 해주었는데 혹시 모를 복수의 값이 있을까봐 해놨다 123456789101112 SELECT id FROM node WHERE manager = #{manag..
예전에도 mybatis 로 데이터를 못가져오는 에러에 대해 다룬적이 있었는데 이건 좀 다른거다 사실은 매우 기본적인건데 지금까지 대충하고 있었다간단하게 아래 쿼리부분을 보면 문제없다...내용만 볼경우근데 이걸로 데이터를 가져올려고하면 null 을 계속 받는것이다12345 select
이걸 한두시간쯤 끌어먹었는데 포스트되어있는게 많이없어서 고생하실분들을 위해 포스팅함 :)현재 운영중인 시스템은 mybatis 형식으로 받고있었음 근데 mybatis 내에 입력된 쿼리를 디비 프로시저 형태로 바꾸는 작업을 진행하고있음그렇기때문에 부딪힌 문제가 있는데 바로 insert 시 성공결과 리턴값을 받는방법이다!!아래 보기를 보면 여태까지 이런식으로 리턴값을 받아왔다 그리고 바꿀려는 mybatis + procedure 는 다음과 같다 ** 위와 아래 사진들이 다른데 같은맥락이라고 생각하면됨 근데 문제는 막상 실행시키면 mybatis 에서 리턴값을 못가져옴애초에 insert 할때 받는방법은 selectKeys 방법밖에없기때문에 어떻게할지 생각에 빠짐그러다가 생각한게 애초에 procedure 는 함수이기..
음.....평소와 같이 spi 를 추가하고 있다가 아래와 같은 에러가 발생 1Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'leave = FROM_UNIXTIME(1534399179)cs 구문오류라는데 도저히.. 아래는 해당쿼리다 12345678910111213 UPDATE commute_record leave = FROM_UNIXTIME(#{leave}), leave_beacon = #{leav..
이게 생각보다 매우 간단한 문제여서 놀랬..바로 본론으로 넘어가기 앞서 쿼리를 뚜둥! 솔직히 아래 쿼리가 썩 보기좋은 상태는 아니지만 일단 넘어가구문제는 디비 date 컬럼을 조건을 통해 검색하는것이다근데 이게....예를들어 2018-08-14 라는 조건을 받을려면 string 타입으로 받아야하는데 디비의 date 타입과 어떻게 비교해야할지 고민에 빠져서 인터넷검색을 죄다 해봤는데 안됨...ㅠㅠ 그래서 혼자 이렇게 될까싶어서 해보니 됨...좀 어이가 없었다; 12번줄을 확인하면 된다12345678910111213141516 SELECT `date` , e.name as manager , b.total , b.come_count , b.leave_count FROM commute_by_manager as ..
시리즈물이기 때문에 글은 생략Before 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 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 ..
이건 시리즈물이다그렇다정확히 코드를 리팩토링하는 과정인것이다하는이유는? 첫째는 내가 만지기 빡씨다는점이다...ㅂㄷㅂㄷ따로 설명은 넣지않을것이다 왜냐? 설명을 넣을 필요도 없이 간단하기 때문이지!Before12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 UPDATE commute_record SET pad = pad , `leave` = FROM_UNIXTIME(#{leave}) , leave_beacon = #{leave_beacon} , leave_beacon = null , come_beacon = #{come_beacon} , come_beacon = null , come_match = ..