분류 전체보기 400

4. 게시판 목록 만들기와 페이징/TDD (2) - 패스트캠퍼스 백엔드 부트캠프 3기

1. BoardDaoImpl추가BoardDaoImpl 클래스@Repositorypublic class BoardDaoImpl implements BoardDao { @Autowired SqlSession session; // 마지막에 .붙여주기 String namespace="com.fastcampus.ch4.dao.BoardMapper."; // select @Override public BoardDto select(int bno) throws Exception{ return session.selectOne(namespace+"select", bno); } // insert @Override public int insert(Boar..

MyBatis 2025.02.28

3. 게시판 목록 만들기와 페이징/TDD (1) - 패스트캠퍼스 백엔드 부트캠프 3기

1. 게시물 목록 페이징 2. LIMIT[offset, ] row_countoffset -> 얼마나 떨어져있는가row_count -> 읽어올 row의 수PageHanlder 클래스@ToStringpublic class PageHandler { int totalCnt; // 총 게시물 갯수 int pageSize; // 한 페이지의 크기 int navSize = 10; // 페이지 내비게이션의 크기 int totalPage; // 전체 페이지의 갯수 int page; // 현재 페이지 int beginPage; // 내비게이션의 첫번째 페이지 int endPage; // 내비게이션의 마지막 페이지 boolean showPrev; ..

MyBatis 2025.02.27

2. MyBatis로 DAO작성하기 - 패스트캠퍼스 백엔드 부트캠프 3기

1. BoardDao의 작성첫째, DB테이블 생성 create table board( bno INT AUTO_INCREMENT primary key not null, title varchar(100) not null, content text not null, writer varchar(30) not null, view_cnt int default 0, comment_cnt int default 0, reg_date datetime default now(), up_date datetime default now());둘째, Mapper XML & DTO작성셋째, DAO인터페이스 작성(생략가능)넷째, DAO인터페이스 구현 & 테스트 2. DTO란? - Data Tra..

MyBatis 2025.02.27

1. MyBatis의 소개와 설정 - 패스트캠퍼스 백엔드 부트캠프 3기

1. MyBatis란?SQL Mapping Framework - Easy & Simple자바 코드로부터 SQL문을 분리해서 관리매개변수 설정과 쿼리 결과를 읽어오는 코드를 제거작성할 코드가 줄어서 생상성 향상 & 유지 보수 편리 web.xml contextConfigLocation /WEB-INF/spring/root-context.xml org.springframework.web.context.ContextLoaderListener appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/appServle..

MyBatis 2025.02.27

14. DAO의 작성과 적용(1) - 패스트캠퍼스 백엔드 부트캠프 3기

1. DAO(Data Access Object)란?데이터(data)에 접근(access)하기 위한 객체(object)Database에 저장된 데이터를 읽기, 쓰기, 삭제, 변경을 수행DB테이블당 하나의 DAO를 작성 2. 계층(layer)의 분리컨트롤러가 직접 데이터베이스에 접근하면 메서드의 중복이 일어난다.중간에 UserDao를 통해 간접적으로 DB에 접근분리 - 관심사, 변하는것과 변하지 않는것의 분리, 중복UserDao 클래스public class UserDao { @Autowired DataSource ds; final int FAIL = 0; public int deleteUser(String id) { int rowCnt = FAIL; // insert, d..

Spring DI, AOP 2025.02.26

13. Spring으로 DB다루기/TDD - 패스트캠퍼스 백엔드 부트캠프 3기

1. 데이터베이스에 저장하고 읽어오기User 클래스@ToString@Getter@Setter@EqualsAndHashCodepublic class User { private String id; private String pwd; private String name; private String email; private Date birth; private String sns; private Date reg_date; public User(){} public User(String id, String pwd, String name, String email, Date birth, String sns, Date reg_date) { this.id..

Spring DI, AOP 2025.02.26

8. 파일 시스템(1) - 패스트캠퍼스 백엔드 부트캠프 3기

1. 파일과 디렉터리파일 : 하드 디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합, 의미 있고 관련있는 정보를 모은 논리적 단위메타데이터(속성) : 파일 관련 부가 정보파일 속성 : 파일과 관련된 다양한 정보파일 속성과 유형파일 유형 : 운영체제가 인식하는 파일 종류를 나타낸다.파일 연산을 위한 시스템 호출파일 생성파일 삭제파일 열기파일 닫기파일 읽기파일 쓰기디렉토리 : 파일들을 관리하기 위한 폴더1단계 디렉터리 : 모든 파일이 하나의 디렉터리 아래에 있는 구조트리 구조 디렉터리 : 여러 계층을 가진 디렉터리최상위 디렉터리(루트 디렉터리) 아래 여러 서브 디렉터리가 있다.경로 : 디렉터리를 이용해 파일 위치, 나아가 파일 이름을 특정 짓는 정보절대 경로 : 루트 디렉터리에서 자기 자신까지 ..

OS 2025.02.26

12. Spring으로 DB연결하기 - 패스트캠퍼스 백엔드 부트캠프 3기

1. DBConnectionTest1public class DBConnectionTest { public static void main(String[] args) throws Exception { // 스키마의 이름(springbasic)이 다른 경우 알맞게 변경해야 함 String DB_URL = "jdbc:mysql://localhost:3306?useUnicode=true&characterEncoding=utf8"; // DB의 userid와 pwd를 알맞게 변경해야 함 String DB_USER = "root"; String DB_PASSWORD = "4862"; Connection conn = DriverManage..

Spring DI, AOP 2025.02.26

2. 엔티티 매니저 팩토리와 엔티티 매니저 - 패스트캠퍼스 백엔드 부트캠프 3기

1. EntityManager와 EntityManagerFactoryEntityManagerFactory : EntityManager를 생성. 애플리케이션에 하나EntityManager : Entity를 저장 관리. 사용자당 하나사용자는 직접 DB에 명령내리는 대신, EntityManager로만 작업저장은 persist(), 조회는 find(), 삭제는 remove(), 변경은 Entity의 setter를 이용 2. Entity클래스의 작성Entity클래스 : DB테이블의 한 행(row)을 정의한 것Entity클래스를 작성하고 @Entity를 붙인다.Entity클래스에서 키(PK)로 사용할 속성에 @Id를 붙인다. 3. Entity클래스의 작성을 위한 애너테이션 4. Entity TransactionPr..

JPA 2025.02.25

1. JPA의 개요와 설정 - 패스트캠퍼스 백엔드 부트캠프 3기

1. JPA(Java Persistence API)란?ORM(Object-Relational Mapping)을 위한 Java 표준 API(인터페이스 집합)ORM : 객체와 RDB를 MappingJPA 구현체 : HIBERNATE, OpenJpa, EclipseLink, DataNucleus, ...Persistence(영속성) : 애플리케이션 종료 후에도 객체(데이터)가 유지되는 것 2. ORM(Object/Relational Mapping) Framework - HIBERNATE객체와 DB테이블 간의 연결을 해주는 프레임웍객체 모델(object model)과 관계형 모델(relational model)의 차이를 해소 3. 객체 모델과 관계형 모델의 비교 4. SQL Mapper(MyBatis) vs O..

JPA 2025.02.25