괴발개발/Spring Framework 62

(MyBatis)mapper에서 insert 후 생성된 auto_increment 값을 리턴하기(가져오기)

auto_increment - primary key에만 걸 수 있음 mapper에서 insert구문으로 해당 테이블에 값을 입력하면 해당 row에서 primary key 메인키(주요키)로서 auto_increment 설정이 걸려서 따로입력을하지않더라도 값이 일정으로 증가하면서 값을 자동으로 넣어주는데. 해당 값은 입력 후, unique값을 조회하지 않으면 auto_increment가 걸려서 자동으로 입력됐던 값을 알 수가 없음. mapper에서 insert 후, 해당 값을 가져오는 방법 1. DB에 값을 입력하는 코드들을 짜서 수행한다. 2. mapper.xml에서 DB에 입력할 떄 아래와 같은 사항을 insert구문에 입력해준다 insert into student (teacher_student_id, ..

jsp의 date/month 타입을 스프링controller로 가져올 때

에러: 'java.lang.String' to required type 'java.util.Date' jsp에서 date타입으로 컨트롤러 받기 VO에 선언된 DB에 접근할 수 있도록하는 변수들은 DB와 완전히 똑같은 타입을 가진 것이 아님. 특히, DB에서 보여지는 date타입은 2021-09-11 로 보여지더라도 실제값은 영문+날짜(숫자)의 조합이므로 중간에 형식변환을 거치게 됨. jsp에서 input태그의 type이 month 또는 date일 경우에 controller로 전달할 때, 변수타입이 맞지않아서 에러가 남. 이럴때는 String으로 변수를 VO에 추가하고(DB에는 추가X) jsp에 name을 새롭게 추가한 변수명을 써준 뒤, 컨트롤러로 넘겨받는다. mapper에서 DB로 넣을때는 해당 값을 ..

에러: Cannot invoke "java.util.Date.getTime()" because "date" is null

VO에서 나이를 계산하는 메소드를 넣어뒀는데, 매개변수를 넣어주지않고 VO에 있는 변수를 안에 고정으로 계산하게끔 넣어뒀더니 문제 : 해당메소드가 있는구역은 매개변수가 null이더라도 작동하기때문에 nullpointerexception이 발생. 원인 : null인 것을가지고 변환하거나 실행처리를해야하니까 에러남 해결 : 아래의 메소드안에 null일 때 값을 어떻게 처리할 것인지 코드를 넣어줬음 if(매개변수가 == null){return;} public Integer getAge() { //현재 년도 구하기 Calendar now = Calendar.getInstance(); //년월일시분초 Integer currentYear = now.get(Calendar.YEAR); //태어난년도를 위한 세팅 Si..

나이 계산(생년월일, 년도, 만 나이)

VO파일에 있는 메소드 (student_birthdate변수는 2021-09-08 과 같은 정보를 가지고있음) public Integer getAge() { //현재 년도 구하기 Calendar now = Calendar.getInstance(); //년월일시분초 Integer currentYear = now.get(Calendar.YEAR); //태어난년도를 위한 세팅 SimpleDateFormat format = new SimpleDateFormat("yyyy"); String stringBirthYear = format.format(student_birthdate); //년도만받기 //태어난 년도 Integer birthYear = Integer.parseInt(stringBirthYear); //..

에러: Connot be resolved to a type

잘되던 것들이 갑자기 안되기 시작했음 java.utill이고 java.text.SimpleDateFormat 이런거 다안됨. import에는 올라가있지만 해당 라이브러리 없는것처럼 import도 빨간줄이 뜸 해결방법=> 1. 프로젝트 우클릭 - Build Path - Configured Build Path - Java Build Path - [선택 유형] : jdk설치시 저장위치에 따라 아래의 조건이 다름 2-a. add Jars (이클립스 폴더 안 경로) 2-b. add External jars (jdk-16.0.2\lib\ 에 있는 jar File처럼 이클립스 폴더 밖 경로) 3. jar File선택 - 열기