반응형 Develop239 [Mybatis] java.sql.SQLException: 해당 위치에 지원되지 않는 SQL92 토큰 에러 📌 Mybatis - java.sql.SQLException: 해당 위치에 지원되지 않는 SQL92 토큰 ( = java.sql.SQLException, CaughtExceptionMessage: Non supported SQL92 token at position: ) 📋 대부분의 경우 파라미터를 매핑하는 부분의 오타를 고치면 해결할 수 있다. #{temp} 이런 식으로 사용되어야 하는 부분이 {temp}, {#temp} 식으로 사용되면 발생하는 오류다. 📋 프로시저를 호출할 때 해당 문제가 발생할 경우, jdbc 드라이버 업데이트 {와 call 사이에 줄바꿈이나 tab 등을 제거 -- 잘못된 예 { call ~~ } -- 올바른 예 { call ~~ } 로컬 프로젝트도 아닌데 jdbc 드라이버를 막 바.. 2021. 7. 9. 템플릿, 프레임워크, 라이브러리, API의 차이 구글링 해보면 보통 프레임워크랑 라이브러리에 대한 차이만 나와있길래... 내가 생각하는 넷의 차이에 대해 자료를 찾아 하나씩 정리해본다. 📚 목차 📕 템플릿과 프레임워크 📒 프레임워크와 라이브러리 📘 라이브러리와 API 📕 템플릿과 프레임워크 템플릿; Template 템플릿 기반 웹사이트라고 하면, 레이아웃의 모양이나 기능 등에 대한 틀이 제공. 이미 결정되어 있는 모양에 원하는 데이터를 넣는 형식 원형을 마음대로 변형하기 힘들기 때문에 정적인 느낌이 강함. 프레임워크; Framework 프레임워크 기반 웹사이트는 사용자가 직접 정의할 수 있는 범위가 템플릿에 비해 넓어짐 자유자재로 원하는 모양과 출력물을 더함 도구나 라이브러리의 모음 📖 예를 들어... 템플릿으로 아래 표가 제공된다고 하자. 색상을 변.. 2021. 7. 1. [Spring] 요청 매핑 이제 간단한 요청 매핑 예제를 만들어서 PostMan으로 테스트할 것이다. MappingController를 만들고 테스트용으로 가장 간단한 메소드를 만들었다. @RestController public class MappingController { private Logger log = LoggerFactory.getLogger(getClass()); @RequestMapping("/hello-basic") public String helloBasic() { log.info("helloBasic"); return "ok"; } } @RestController @Controller는 반환 값이 String이면 View 이름으로 인식 @RestController는 반환 값을 HTTP 메시지 바디에 바로 입력 .. 2021. 6. 25. [Java] 얕은 복사와 깊은 복사 (+Clone) 코딩테스트를 보면서 Queue를 여러 메소드에서 사용하다가 요소가 여러개 삭제되는 경우가 있었다. 파라미터로 보낸 Queue에서 요소를 삭제하면 원본 Queue에도 영향을 미치는 문제였으며, String 같은 변수를 넘길 때는 파라미터 값을 변경해도 원본에는 영향을 미치지 않았다. 이 개념을 정리하기 위해 글을 작성한다. 한 가지 간단한 테스트를 해보자. public class Test { public static void main(String[] args) { String str = "originTest"; String[] arr = {"origin", "test"}; System.out.println("before: "+str); for(String a:arr) { System.out.println(.. 2021. 6. 22. [Eclipse] 프로젝트 세팅 시 오류 목록 새로운 work space를 만들고 기존의 프로젝트를 import 해올때 Eclipse에서 흔히 발생하는 오류들을 정리해두었다. 기본적으로 워크스페이스 생성 후에 Eclipse의 encoding 설정은 UTF-8로 변경했다는 가정 하에 진행한다. 목차 SVN 403 오류 Get repository folder children operation failed. svn: E175002: unknown host Error creating bean with name '~': Injection of autowired dependencies failed; ... Unsupported major.minor version 52.0 project facet java version 1.8 is not supported Co.. 2021. 6. 1. [스프링 MVC] @Controller, @RequestMapping 지난 게시글에서 OldController를 통해 기존의 Controller 동작 방식을 살펴봤었다. 이제 본격적으로 스프링 MVC의 편리한 기능들을 사용할 것이다. 컨트롤러를 작성하는데 키 포인트는 @Controller와 @RequestMapping 이 두 어노테이션이다. 이 두 가지에 대해 간단히 설명하고 코드를 작성하겠다. @Controller 내부에 @Component 어노테이션이 존재해 컴포넌트 스캔의 대상 스프링이 자동으로 스프링 빈으로 등록 스프링 MVC에서 어노테이션 기반 컨트롤러로 인식하게 함 @RequestMapping 요청 정보를 매핑 해당 url이 호출되면 해당 메소드가 호출 어노테이션 기반 동작이기 때문에 메소드 이름은 자유 + 핸들러 매핑과 핸들러 어댑터 중 가장 우선순위가 높은 .. 2021. 5. 27. [스프링 MVC] 뷰 리졸버 지난 번에 만들었던 OldController를 수정해서 뷰 리졸버의 작동을 살펴보자. ( 프로젝트 전체: https://github.com/yeon-06/inflearnSpring/tree/master/mvc1 ) OldController @Component("/springmvc/old-controller") public class OldController implements Controller{ @Override public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception { System.out.println("OldController.handleRequest"); return new .. 2021. 5. 26. [Java] static과 synchronized 흔히 static 키워드는 multi-thread 환경에서 문제가 생기고, multi-thread 접근을 방지하기 위한 방법으로는 synchronized의 사용이 있다. static만 쓰거나, synchronized만 쓰거나, 둘 다 쓰거나... 이런 경우가 헷갈려서 따로 정리해본다. static 메모리에 한 번 할당되며 프로그램 종료 시 해제 GC과 관여하지 않는 영역의 메모리에 저장됨 객체 지향적이지 않아서 Java에서는 사용 지양을 권장 interface 구현에 사용할 수 없어 재사용성이 떨어짐 multi-thread 환경에서도 공유됨 설정 파일 정보, 자주 사용하고 절대 변하지 않는 변수(이건 final static을 쓰면 좋다) 등에 사용 메모리에 대한 보충 설명 ▼ 더보기 JVM의 메모리 영역.. 2021. 5. 26. [스프링 MVC] 핸들러 매핑, 핸들러 어댑터 핸들러 매핑과 핸들러 어댑터가 어떤 것들이 어떻게 사용되는지 확인해보자. Controller 인터페이스와 HttpRequestHandler 핸들러(컨트롤러)를 통해 예시를 들겠다. Controller 인터페이스 과거 Spring에서 사용했던 인터페이스 @Controller 어노테이션과는 전혀 다름 public interface Controller { ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception; } 지난 게시글에서 살펴봤던 스프링 MVC 구조를 다시 살펴보자. (글 순서: https://github.com/yeon-06/inflearnSpring/tree/master/.. 2021. 5. 24. 이전 1 ··· 15 16 17 18 19 20 21 ··· 27 다음 반응형