일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CSS3
- 스프링
- PAGING
- ORDERBY
- spring
- poi엑셀
- 파일업로드
- jsp
- 게시판구현
- 자바
- select
- html5
- 자바타입
- SQL
- JSTL
- jquery
- 자바스크립트
- db
- poi
- MariaDB
- mybatis
- 스프링파일업로드
- pagenation
- insert
- 페이징
- 퍼블리싱
- 자바파일업로드
- crud
- mysql
- Java
- Today
- Total
목록Java (13)
째의 개발 기록방
자바에서 업캐스팅(Upcasting)과 다운캐스팅(Downcasting)이란 무엇일까? 캐스팅(casting)이란 타입을 변환하는 것을 말하며 형변환이라고도 한다. 자바에서 서브 클래스는 수퍼 클래스의 모든 특성을 상속받는다. 그렇기 때문에 서브 클래스는 수퍼 클래스로 취급될 수 있다. 여기서 업캐스팅(Upcasting)이란 서브 클래스의 객체가 수퍼 클래스 타입으로 형변환되는 것을 말한다. (자식 클래스의 객체가 부모 클래스 타입으로 형변환 되는 것) 그렇다면 업캐스팅은 왜 사용하는 것일까? 업캐스팅을 사용하는 이유는 다형성(Polymorphism)과 관련이 있다. class Person{ String name; Person(String name){ this.name = name; } } class S..
Mybatis란? Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping)프레임워크이다. SQL을 별도의 파일로 분리해서 관리하게 해준다. Hibernate나 JAP(Java Persistence Api)처럼 새로운 DB프로그래밍 패러다임을 익혀야하는 부담 없이 SQL을 그대로 이용하면서 JDBC코드 작성의 불편함도 제거해주고 도메인 객체나 VO객체를 중심으로 개발이 가능하다는 장점이 있다. Mybatis의 특징 쉬운 접근성과 코드의 간결함 JDBC의 모든 기능을 Mybatis가 대부분 제공한다. 복잡한 JDBC코드를 걷어내며 깔끔한 소스코드를 유지할 수 있다. 수동적인 파라미터 설정과 쿼리 결과에 대한 맵핑 구문을 제거할 수 있다. ..
1. 어노테이션(@, Annotation)이란? Annotation은 JEE5부터 새롭게 추가된 문법요소이다. 사전적으로는 "주석"이라는 의미를 가지고 있으며, 의미대로 자바 코드에 주석처럼 달아 특수한 의미를 부여해준다. 이 특별한 의미는 컴파일 타임 또는 런타임에 해석될 수 있다. 아래와 같이 클래스 내부 또는 클래스 바로 위에 '@'와 함께 시작하는 것이 어노테이션이다. @Component 개발자가 생성한 Class를 Spring의 Bean으로 등록할 때 사용하는 Annotation입니다. Spring은 해당 Annotation을 보고 Spring의 Bean으로 등록한다. @Component(value="myman") public class Man { public Man() { System.out...
그룹함수 - 그룹 함수는 검색된 여러 행을 이용하여 통계정보를 계산하는 함수이다. 그룹 함수의 종류에는 COUNT, MAX, MIN, SUM, AVG, STDDEV, VARIANCE 등이 있다. 1. 그룹함수는 NULL값이 있는 컬럼은 조회에 포함시키지 않는다. 2. LOW가 없는 테이블에 그룹함수 COUNT()를 사용 시 0이 출력되며 SUM()를 사용시 NULL 값이 출력된다. 3. COUNT, MAX 와 MIN은 문자, 숫자, 날짜 데이터 모두에게서 사용할 수 있다. 그러나 AVG SUM, VARIANCE, STDDEV는 NUMBER만 사용 가능하다. 4. EXPR이 있는 인수들의 자료 형태는 CHAR, VARCHAR2, NUMBER, DATE 형이 될 수도 있다. 함수명 기능 사용 COUNT 행의..

jsp 글 등록시 파일을 같이 업로드 할때는 폼태그에 enctype="multipart/form-data" 을 꼭 추가해야한다. javascript ajax로 서버에 폼 서브밋 요청하기 controller fileVOset 이라는 파일만 저장시키는 메서드를 따로 만든다. (밑에 메서드에서 여러번 쓰일것이기 때문!) 프로퍼티에 설정돼있는 패스를 가져와 파일저장경로 cfilePath를 만든다. MultipartFile에 파일이 들어있다. 위에 따로 만들어둔 fileVOset 메서드를 불러와 MultipartFile에 들어있는 파일을 name값으로 뽑아서 리스트에 넣는다. service mapper.xml DB 디비를 확인해보면 업로드한 파일이 잘 들어간것을 확일할 수 있다~! 파일 다운로드는 아래링크에~! ..

jsp reportFileVOList 는 리스트의 형태로 데이터가 담겨져 있기 때문에 for문을 사용하여 데이터를 바인딩한다. 이렇게 하면 맨위 파일다운로드 화면처럼 파일 오리지날 네임 옆에 파일다운로드라는 a 버튼이 생성된다. 필요한 파일만 각각 다운받는것이다. 1. reportFileVOList 안에 fileOrgNm(파일오리지날명)이 null이 아닐 경우에 #fileOrg의 내용이 출력되어라.. 2. 파일다운로드 버튼, 삭제버튼 모두 파라미터로 파일아이디값을 넘겨준다.(fileId = fileVO의 pk값) 3. reportFileVOList 안에 fileOrgNm(파일오리지날명)이 null일 경우는 첨부 된 파일이 없습니다. 로 출력 파일삭제도 다운로드와 같은 방식으로 사용할 수 있다. javas..

엑셀파일 업로드 jsp 엑셀파일업로드 javascript //엑셀등록 function goExcelUp(){ var formData = new FormData($('#excelUpForm')[0]); //폼데이터를 콘솔로 확인하는 방법 for (var pair of formData.entries()) { console.log(pair[0]+ ', ' + pair[1]); } var url = "/reportExcelUpload.do"; if(confirm("엑셀 파일을 등록하시겠습니까?")){ $.ajax({ url : url, type: "post", data: formData, enctype: "multipart/form-data", processData: false, contentType: fals..

지금 개발 진행(연습) 중인 CRUD 엑셀파일다운로드 = 현재 화면에 뿌려져있는 데이터를 엑셀파일로 받겠다. 엑셀파일업로드 = 샘플로 제공된 엑셀파일로 데이터를 가공하여 업로드 시키겠다. 엑셀파일다운로드 jsp 엑셀파일 다운로드 엑셀파일다운로드 버튼 클릭 시 엑셀파일다운로드 함수 실행 * a말고 button 태그를 사용해도 되지만 폼이 있을때 button은 엔터키만 눌러도 전송되어지는 이슈가 있을 수 있어서 a태그를 사용했다. 검색 ${reportVO.reportTitle } --전체보기-- 제목 내용 검색 정렬 제목 등록자 등록일 오름차순 내림차순 #searchForm = 서브밋 할 폼↑ 원래 #searchForm은 검색기능을 위한 폼이지만 여기에 필요한값이 다 있어서 #searchForm을 서브밋하였..