본문 바로가기
728x90

오류를 개발새발47

MyBatis) DeleteAll을 테스트할 때 주의하기(반환값은 0) MyBatis로 MySQL을 연결해서 DAO 테스트를 하는데 SELECT * FROM 테이블 을 테스트하던 도중 반환값이 1이 나와야하는데 자꾸 0이 나와서 테스트에 실패했다... 하지만 SQL문을 따로 실행하면 잘 실행이 됐다 알고보니 delete는 excuteUpdate()를 사용함에도 불구하고 DELETEALL은 반환값이 0이 되는 모양이다 assertTrue(dao.deleteAll()==1)은 false였지만 int i = dao.deleteAll 로 초기화하고 출력하면 i = 0으로 떴다 (deleteAll 값이 없는 것은 아니라는것, 0이라는 것) 다른 dao를 테스트 할 때는 잘 돌아가니까 deleteAll을 테스트하고 싶을 때에는 assertTrue(dao.deleteAll()==0) 으.. 2022. 11. 18.
Spring) ajax에서 JSON으로 값이 전달되지 않았던 이유 며칠간 나를 괴롭혔던... ajax에서 왜 JSON으로 값이 안 들어갔는지의 여정을 간략히 설명한다 1) 404에러 $.ajax({ type: 'POST', //요청한 메서드 url: '/signUp', //요청하는 url header: {"content-type":"application/json"}, //요청 헤더(내가 JSON으로 보내는 거야) dataType: 'text', //전송받을 데이터의 타입은 이거야 data: JSON.stringify(data), //서버를 전송할 데이터, 직렬화(문자열화) 필요해서 stringify() success: function (data) { //서버로부터 응답(result)가 도착하면 호출될 함수 alert(data); location.href="/hi"; }.. 2022. 11. 15.
Spring) @Autowired 한 객체가 왜 null값이 뜰까?(sqlsession null) 삼일을 꼬박 고민했던 문제를 해결했다... @Autowired Sqlsession session; 했는데 session값이 null이 뜨는 것 ㅠ_ㅠ 다른 테스트에서는 잘 동작하는데 Dao 에서만 말썽이었다 @Test session (Test에서는 session 객체 주입이 잘 된다) deleteAll 에서는 되지 않았다.... 정답은 memberDao를 new 생성자로 생성해줬기 때문에 벌어지는 현상이었다! 이미 @Autowired로 bean을 생성했는데 new 생성자를 써서 굳이 내가 또 생성을 해버리니 주소 주입이 안 됐던 것 ㅠ_ㅠ Tests passed !!! @Autowired로 bean을 생성해준 객체는 생성자로 또 생성하지 않는 것을 명심해두자!!!! 나는 벌레다 2022. 11. 14.
예외 해결) 저는 nullPointException이 싫어요 스프링 강의를 들으면서 따라하다가 중간에 막혔다 오늘 내내 나를 괴롭히던 오류가 있었다 EL안의 ${값}을 읽지 못하는 예외... ${ph.어쩌구}를 못읽고 계속 예외가 발생했다... 여러가지 경우의 수를 두고... Test도 돌려보고 뭐도 해보고... 이거 때문에 세션 문제인가? 근데 다른데선 DB 연결 잘만 되는데 왜 저기에서만???하고 @Autowired가 가끔 문제가 생겨서 @Resources로 직접 연결해준다는 말도 들어서 그렇게도 해보고 sqlSession에 대해서 엄청 찾아보다가...이 문제는 아닌 거 같았다 세션을 못불러오고 Dao만 불러와서 저건 다른 문젠가 싶어서 다른 쪽으로 방향을 틀었음 jsp 자체에 문제가 있나 싶어서 중간중간에 출력문을 넣어보기도 하고 검사하기, 페이지 소스보기로.. 2022. 11. 3.
오류 해결*진짜어이없음주의) java.lang.IllegalStateException: No DataSource set java.lang.IllegalStateException: No DataSource set 스프링으로 @Test 하는데 getTransaction이 안 불러와지는 현상이 나타났다ㅠㅠ package com.fastcampus.ch3; import junit.framework.TestCase; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.test.context.Con.. 2022. 11. 2.
728x90