일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Jenkins
- boxing
- 클래스
- bootstrap
- Scanner
- 스프링
- start.spring.io
- 무한
- Java
- 제너릭
- 제네릭
- 언박싱
- 메소드
- 자동형변환
- maven
- 내장객체
- suvlet
- 빌드
- 콜렉션
- wrapper
- 루프
- dependency
- 싱글턴
- 컬렉션
- 싱글톤
- 인텔리제이
- Short
- https://start.spring.io
- 박싱
- unboxing
- Today
- Total
Developer Gonie
[9주차] 21. 여러개 선택가능한 선택박스의 데이터를 DB에 저장하는 방법 및 데이터 타입*** 본문
[9주차] 21. 여러개 선택가능한 선택박스의 데이터를 DB에 저장하는 방법 및 데이터 타입***
이대곤 2022. 7. 14. 20:03DB에서 해당 데이터를 저장하기 위한 타입
사용자가 선택한 것들을 문자열 한줄로 이어붙여 저장할 예정이라서 varchar2 타입으로 저장한다.(이건 무조건 고정)
이어붙여 저장할 땐 ',' 혹은 ' ' 을 단어 사이사이 이어붙여 구분자를 넣은상태로 저장한다.
Bean클래스에서 해당 데이터를 담기위한 타입
둘 다 사용 가능하고 어느 방식이든지 큰 불편함은 못 느꼈다.
두 방식으로 각각 모두 해보니 뭐가 더 쉽고, 어렵고의 차이는 없었다.
다만, 방식에 따라 고려해야할 것을 바로 알고 사용하면 될거같다.
1) 방법1, String 타입으로 하는 것(개인적으로 배열을 덜 다뤄서 쉬운편인거 같음)
- <jsp:setProperty property="*" name="bean"> 을 호출했을 때
체크박스로 여러개 선택한 값 중 맨 앞의 딱 1개만 bean 객체의 관련 변수에 바로 담긴다.
따라서 <jsp:setProperty property="*" name="bean"> 호출시 선택된 체크박스의 값 모두를 가져오기 위해
getParameterValues()를 한번 더 호출해서 사용해야함.
- updateProc.jsp, insertProc.jsp 에서 정도만 파싱작업이 요구됨
- 문자열.contains(문자열원소) 를 사용할 일이 있을 것임
2) 방법2, String[ ]타입으로 하는 것
- <jsp:setProperty property="*" name="bean"> 을 호출했을 때
체크박스로 여러개 선택한 값이 자동으로 bean 객체의 관련 변수에 바로 담긴다.
- Arrays.asList.(문자열 배열).indexOf 를 사용할 일이 있을 것임
public class StudentBean {
private String hobby;
...
}
public class StudentBean {
private String[] hobby;
...
}