너무 Spring 만 사용했더니 일반 자바파일 생성하는 방법을 까먹어가서 정리하는 자바 프로젝트 생성방법이다. 별건 없음. 자바 프로젝트 생성하기 1. 새 자바 프로젝트를 생성한다. 2. 새 자바 프로젝트에 패키지 생성 패키지는 생성하지 않아도 (default)로 패키지가 할당된다. 3. 생성한 패키지 밑에 Class 생성 클래스를 생성할 때 public static void main (String[] args)에 체크를 해주면 좋다. 안해도 상관은 없지만, 자바 파일만 사용하면 나중에 따로 작성해주어야 한다. 결과 그럼 다음과 같은 경로로 결과가 나온다! 이제 저 안에 원하는 코드를 작성하면 된다.
전체 검색 (findAll) 에서 정렬하는 방법 ASC 는 오름차순, DESC는 내림차순이다. dao.findAll(Sort.by(Sort.Direction.ASC, "기준 컬럼명") ArrayList list = (ArrayList) dao.findAll(Sort.by(Sort.Direction.ASC, "SubscribeNum")); 결과 DAO 에서 순서대로 정렬하는 방법 ArrayList findBySiteOrderBySubscribeNumAsc(String site); 참고 블로그 JPA findAll() 사용 시 정렬하여 반환하는 방법 List list명 = repository명.findAll(Sort.by(Sort.Direction.DESC/ASC, "기준컬럼명")); JPA에서 findAl..
Entity Entity에 언더바 ('_')를 집어넣으면 DAO에서 인식하지 못하는 오류가 발생한다. @Entity @Setter @Getter @ToString @NoArgsConstructor @AllArgsConstructor public class SubscribeParty { @ManyToOne @JoinColumn(name="subscribe_num", nullable=false) @OnDelete(action=OnDeleteAction.CASCADE) //만약 board에서 본인이삭제하면 걍 아예 안뜨는걸로 private SubscribeBoard subscribe_num; private int point_basket; private Date remain_month; private int s..
이번 편에서는 JPA 라이브러리에서 사용하는 어노테이션에 대해 설명할 것이다. JPA에서는 어노테이션이 대부분의 작업을 수행하기 때문에 꼭 각 어노테이션이 무슨 역할을 하는지 기억해두는 것이 좋다. ORM.DB 자동화 프레임웍 @Entity 테이블 클래스를 정의. 지정된 VO 클래스와 동일한 이름의 테이블이 자동으로 생성되고, 이 클래스의 멤버변수와 동일한 이름과 타입의 컬럼이 생성 @Table(name="테이블명") VO 클래스 이름과 다르게 테이블을 생성하고자 할때, name 속성에서 사용할 테이블 이름을 작성한다. @Id primary key 지정 @Column(name="컬럼명",nullable=true/false) 컬럼의 이름과 속성을 설정하는 주석 @Transient 컬럼에 제외하는 변수 표시..
JPA는 MyBatis 와 비슷한 역할을 하는 라이브러리로, 자바에서 데이터베이스와의 상호 작용을 추상화하는 API이다. JPA는 객체-관계 매핑(Object-Relational Mapping, ORM)을 지원하며, 개발자가 객체 지향적인 방식으로 데이터베이스를 다룰 수 있게 도와준다. JPA 에서는 이름이 중요하다. JPA 자체에서 데이터 베이스를 생성하기 때문에 대소문자등을 코드 전체에서 똑같이 사용하도록 해야한다. 특히, 데이터 베이스의 이름이 생성될 때 대문자는 하나의 문자로 인식하므로 주의하여야 한다. ex) MyProduct -> my_product Myproduct -> myproduct JPA Pom.xml 추가하기 Pom.xml에서 아래의 문장을 추가한다. * spring.jpa.data..
MyBatis 마이바티스 마이바티스는 자바 언어를 위한 오픈 소스 데이터 매퍼 프레임워크이다. 데이터 매퍼는 데이터베이스와 어플리케이션간의 상호작용을 담당하는 계층으로, 데이터베이스의 데이터를 객체로 매핑하고 SQL 쿼리를 실행하여 데이터를 조작한다. 마이바티스는 이러한 데이터 매퍼 계층을 효과적으로 구현하고 사용할 수 있도록 도와준다. MyBatis Vo 생성 법칙 MyBatis에서의 Vo에서 Date속성은 sql.Date를 임포트한다. 아래의 Setter, Getter은 롬복을 사용하였다. [Lombok] 롬복이란? 롬복 사용하는 방법 Lombok은 ... 롬복은 Java 언어로 작성된 프로젝트에서 개발자의 생산성을 높이기 위해 사용되는 오픈 소스 라이브러리이다. 롬복은 반복적이고 번거로운 작업을 줄..
Lombok은 ... 롬복은 Java 언어로 작성된 프로젝트에서 개발자의 생산성을 높이기 위해 사용되는 오픈 소스 라이브러리이다. 롬복은 반복적이고 번거로운 작업을 줄이고자 주석 기반의 애노테이션을 사용하여 자동으로 코드를 생성하는 기능을 제공한다. 어노테이션 (annotation/ 주석) 클래스 위에 어노테이션을 추가한다. @Setter/ @Getter 메서드 각각 Setter, Getter 을 추가해주는 어노테이션이다. 롬복은 @Getter와 @Setter 애노테이션을 사용하여 클래스의 필드에 대한 Getter와 Setter 메서드를 자동으로 생성해준다. 이를 통해 코드를 간결하게 유지할 수 있다. @Getter @Setter @ToString 롬복은 @ToString 애노테이션을 사용하여 클래스의 ..
자바 입출력스트림 바이트 스트림 한 바이트씩 읽고 씀 1) InputStream 입력 스트림 FileInputStream ( 파일에서 1바이트씩 읽는 스트림) int read() : 파라메터 없는 read 1 byte 읽어서 int 타입으로 반환한다. int read(byte[]) : int 타입, byte 배열을 파라메터로 받는 메소드 파라메터로 넣은 배열 크기만큼 읽어서 배열에 저장. 읽은 바이트 수를 반환 int read(byte[], offs, size) size만큼 읽어서 배열에 저장 저장 시작 위치를 offs 로 지정 읽은 바이트 수를 반환 2) OutputStream 출력 스트림 FileOutputStream ( 파일에서 1 바이트씩 출력 스트림) ✎ 1 바이트 : 영어 한 개씩 void w..
개요 글 작성, 삭제 등 구현 guestbook : 테이블명 guestbook (로그인 없이) 방명록 글번호 작성자 작성일 글비밀번호 내용 조회수 Oracle 오라클의 테이블 생성 create table guestbook( num number primary key, writer varchar2(20) not null, w_date date, pwd varchar2(20) not null, content varchar2(100), cnt number ); --글번호 할당할 시퀀스 create sequence seq_guestbook; Vo package guestbook; import java.sql.Date; public class GuestBookVo { private int num; private S..