본문 바로가기

개발자의 공부방/스프링20

스프링] 에러 : java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed; 해결법 feat. 스프링부트 현재 제목과 같은 에러가 발생했다. UPDATE 문을 실행하면 저렇게 에러가 나는데... 구글에 검색을 하면 스프링프레임워크를 세팅할 때 read-only 어쩌고... 이러한 해결법이 나오는데.. 결과적으로 대부분이 스프링 xml 셋팅을 얘기하고 있다. (application-context.xml...) 스프링부트 + mybatis + mysql + gradle 로 환경셋팅이 되어 있는 나는 전혀 xml 설정이 없다... 무튼 해결방법은... transactional 을 통한 에러였고 readOnly 라는 것을 보았기에... 어노테이션 @Transactional 을 선언하고 readOnly = false 를 해줬다. 다행히 위와 같은 에러는 더 이상 발생되지는 않았다! 2020. 3. 27.
스프링부트] 목록 리스트 Controller @RequestMapping(value = "/admin/company/companyRegistration", method = RequestMethod.GET) public String companyList(Model model) { log.debug("a1 :"+companyService.getCompanySelectNameList(companyVO)); model.addAttribute("companySelectNameList", companyService.getCompanySelectNameList(companyVO)); return "/admin/company/companyRegistrationList"; } 안나왔던 이유 String companyList 메소드에 url 경로.. 2020. 3. 26.
Mybatis] 끄적끄적 사용하는 쿼리에서 가져오는 것이 있으면 resultMap 에 result 를 DB의 컬럼을 다 쓸 필요가 없이 사용하는 부분만 로 작성해서 하면 된다. 2020. 3. 20.
스프링] gradle @Slf4j 설정 feat. test 에서 자동임포트 안뜰 때 스프링부트와 gradle 그레이들을 사용하는 프로젝트를 진행 중입니다. @Slf4j 어노테이션은 롬복에서 지원해주는 로깅 어노테이션으로 많이들 사용합니다. 그런데 TEST 에서 사용을 하려고 하면 @Slf4j 가 자동으로 임포트 목록에 뜨지 않는 경우가 있습니다. 원인은 바로 그레이들 설정 때문입니다. 메이븐 같은 경우에는 라는 범위 지정이 있는데 반면 그레이들은 compile, compileonly, annotationProcessor 등으로 나눠져있습니다. //annotationProcessor 'org.projectlombok:lombok' compile('org.projectlombok:lombok') 처음에는 annotationProcessor 로 되어 있었는데 이를 compile 로 변경하니깐.. 2020. 3. 18.
스프링] 의존성 주입 방법 여러가지. 의존성 주입에 대해 여러가지 방법이 있다는 걸 처음 알았다. 1) 첫번째 방법 Field 에 @Autowired 를 명시해서 의존성을 주입하는 방법이 있다. 근데 사진상으로는 에러가 난다. 이유는 단순하다. final 을 붙였기 때문! final을 없애면 정상적으로 애플리케이션이 동작한다. 2) 두번째 방법 두번째 방법은 레퍼런스에서 권장하고 있다는 방법이다. 바로 생성자를 이용한 방법인데, 아직 스프링에 대해서 자세하게 알지못하다보니 생성자를 이용한 방법이 좋다 나쁘다를 판단하기 어려운 것 같다. 또한 실무에서는 @Autowired 어노테이션을 사용하는 방법을 많이 써서 생성자 방법이 있는지도 몰랐.......공부해야한다....ㅠㅠ 3) 세번째 방법 Setter 를 이용한 방법이다. 백기선님의 무료강좌.. 2020. 3. 17.
스프링부트 에러] 에러 모음. Caused by: java.sql.SQLDataException: data exception: invalid character value for cast ==> insert 하는 컬럼의 위치가 잘못됐다. Caused by: java.sql.SQLSyntaxErrorException: row column count mismatch ==> 컬럼을 추가했는데 insert 되는 곧에 추가한 컬럼을 포함하지 않고 insert 를 하려고 하니깐 나오는 에러 Caused by: java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.Collection org.springframework.sa.. 2020. 3. 17.