본문 바로가기

Spring/spring, mybatis5

Mybatis #과 $ 매핑기호의 차이점 이슈가 발생해서 수정 요청이 들어왔다. 쿼리 insert 하는 부분에서 컬럼에 바인딩 되는 값 안에 작은 따옴표(') 가 들어가 있는 경우 SQLException이 발생했다. 그래서 이 부분을 작은 따옴표가 있더라도 insert 하도록 수정하는 것이다. 소스코드는 내가 작성하지 않았지만, 나도 생각 없이 작성 했었을 것 같다. 알고보니 #, $에 따른 매핑기호로 인한 바인딩 방식 차이로 생긴 문제여서 SQLException에 대한 예외처리와 매핑기호를 $에서 #로 수정 해주어 해결됐다. 그럼 #과 $는 어떤점이 다를까? # #은 PreparedStatement를 의미한다. 예를들어 USER_ID = SeokHun 이고, 아래 쿼리가 실행된다면 SELECT USER_ID FROM USERS WHERE US.. 2019. 9. 4.
스프링 @Autowired 스프링에서는 @Autowired 애노테이션을 사용해 의존 자동 주입을 할 수 있다. 자동주입을 사용하면 스프링에서는 알아서 의존 객체를 찾아서 주입해준다. 그래서 태그를 사용하지 않아도 의존 객체가 주입 될 수 있다. @Autowired 어노테이션은 스프링 설정파일에 등록된 빈 객체를 검색한 후 어노테이션이 적용된 프로퍼티, 메서드, 생성자등에 객체를 주입해 줄때 타입을 이용하게 된다. 그렇기 때문에 해당되는 타입의 빈 객체가 설정파일에 존재 하지 않을시 예외를 발생시키게 되는데, 이를 방지하기 위하여 @Autowird어노테이션의 required 속성을 사용해야한다. 기본값으로는 "true"이며 이 속성을 "false" 설정시 해당 타입의 빈 객체가 존재하지 않더라도 예외를 발생 시키지 않는다. 2018. 2. 4.
spring, 메이븐 스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다.*출처 : 위키백과스프링은 객체조립기라고도 불리는데 그 이유는 스프링에서 자주 등장하는 DI & AOP의 개념 때문이다.DI(dependency injection)은 객체간의 의존 관계를 객체 자신이 아닌 외부 조립기가 수행 해 준다는 개념이다.DI패턴을 적용시 클래스는 의존하는 객체를 전달받기 위한 설정 메서드(setter method)나 생성자를 제공 할 뿐,직접 의존하는.. 2018. 2. 3.
이클립스에서 mybatis 설정 //model 패키지 안의 .클래스명을 클래스명만 사용하여 사용하겠다. //oracle db 연동 //oracle 디비의 경우 //url 주소 입력 //디비 아이디, 비밀번호 입력 //사용한 mapper.xml 파일들을 연결, mapper에서 db구문을 작성하게 해준다. //mapper 파일에는 각각에 필요한 sql 구문들이 작성되어있다. 2018. 2. 2.
임시 비밀번호 찾기 국비교육을 듣는동안 내가 맡았던 부분의 일부분을 포스팅해보려 한다.비밀번호 찾기를 했을 시 이름과 메일이 DB에 저장된 값과 일치하면, 메일로 임시 비밀번호를 발송해주는 부분이다. 컨트롤러에서는 jsp 페이지에서 입력한 이름과 이메일 값이 일치하면 member로 가져와 저장한다.그 후 A~Z까지 난수를 발생시켜 6개를 비밀번호로 저장한 후 Repository로 넘어가 값을 비교한다.비교된 결과 값 result를 model이라는 바구니에 속성값을 담아준다.아래에도 언급을 하겠지만, update는 integer를 반환하기 때문에 update문이 실행된 경우에는 값이 일치했기 때문에mailing메소드를 불러와 메일로 값을 보내주고 틀렸을 경우에는 다시 비밀번호찾기 페이지로 가게된다. package contro.. 2018. 1. 3.