728x90
반응형
톰캣
1) 톰캣
- 톰캣 실행
/Library/Tomcat/bin/startup.sh
- 톰캣 페이지 확인
- localhost:8080
- 톰캣 종료
/Library/Tomcat/bin/shutdown.sh
MariaDB
1) 비밀번호 재설정
set password for 'root'@'localhost'=password("root");
flush privileges;
2) DB 설정
# root 계정으로 접속하여 사용자 계정과 DB 생성
mysql -u root –p
maria 입력 // password 입력
MariaDB [(none)]> show databases; // 데이터베이스 목록 확인
MariaDB [(none)]> use mysql; // mysql DB 사용
MariaDB [mysql]> create database boot_db; // boot_db DB 생성
MariaDB [mysql]> CREATE USER 'boot'@'%' IDENTIFIED BY 'boot'; // boot user 생성, boot password 지정
MariaDB [mysql]> GRANT ALL PRIVILEGES ON boot_db.* TO 'boot'@'%'; // boot DB의 권한 허용
MariaDB [mysql]> flush privileges; // grant 사용시 권한 적용을 위한 명령어
MariaDB [mysql]> select user, host from user; // 계정 조회, user는 system table
MariaDB [mysql]> exit; // 접속 종료
# boot 사용자 계정으로 접속한다.
mysql -u boot –p
boot 입력 // password 입력
use boot_db;
table 생성
- users
create table users(
id int(10) not null auto_increment primary key, // auto-increment : 자동으로 sequence한 값 증가, primary key : 기본키
userid varchar(100) not null ,
name varchar(100) not null ,
gender varchar(10),
city varchar(100)
);
alter table users add unique index users_userid_idx(userid); // unique : 중복 안됨
show index from users;
insert into users(userid,name,gender,city) values ('gildong','홍길동','남','서울');
commit;
insert into users(userid,name,gender,city) values ('dooly','둘리','여','부산');
commit; // mariaDB는 자동 commit
- customer
create table customer(
id int(10) not null auto_increment primary key,
name varchar(100) not null,
email varchar(100) not null,
age int(10),
entryDate date,
UNIQUE KEY uk_name (email)
);
alter table customer add unique(id);
insert into customer(name, email, age, entryDate) values ('gildong', 'gildong@naver.com', 20, '2023-10-01');
insert into customer(name, email, age, entryDate) values ('dooly', 'dooly@google.com', 25, '2023-10-05');
insert into customer(name, email, age, entryDate) values ('huidong', 'huidong@google.com', 18, '2023-09-05');
insert into customer(name, email, age, entryDate) values ('micole', 'micole@naver.com', 28, '2022-10-10');
insert into customer(name, email, age, entryDate) values ('ddochi', 'ddochi@google.com', 20, '2023-05-05');
commit;
- 미션 1
myspring.di.strategy1 패키지 생성
myspring.di.strategy1.dao 패키지 생성
- UserDao.java
- UserDaoImpl.java
myspring.di.strategy1.service 패키지 생성
- UserService.java
- UserServiceImpl.java
myspring.user.vo 패키지 생성
- userVO.java (SpringFWXml -> src/main/java -> myspring.user.vo -> UserVO.java 파일 복사)
- 전략1
- xml
- test case
- java 파일
- 전략2
- xml
- testcase
- java 파일
- 전략3
- configuration class
- testcse
- 미션 2
기존 sqlsession과 datasource의 xml -> 복사
- pom.xml은 그대로 복붙 가능
-
mapper와 sql 들어간 xml 생성
- basepackage 이름 변경 된 것 수정 필요
jUnit 추가하는 방법
- build path -> configure build path -> add library -> jUnit -> jUnit5
주석 처리 : ctrl + shift + c
자동 : ctrl + shift + o
변수 생성 : alt + shift + L
- star uml으로 다이어그램 작성
https://staruml.io/
1. Mybatis
- 자바 객체와 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있도록 도와주는 개발 프레임워크
- 특징
- JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화
- 일반 SQL 쿼리, 저장 프로시저 및 고급 매핑을 지원하는 모든 JDBC 코드 및 매개 변수의 중복 작업을 제거
- 장점
- SQL을 XML에 편리하게 작성할 수 있음
- SQL 쿼리를 한 구성파일에 구성하여 프로그램 코드와 SQL을 분리할 수
https://naver.me/5Ya1OkS5
https://naver.me/xkIxw0SW
2. Thymeleaf
- 웹 및 독립 실행 환경을 위한 Java 템플릿 엔진
- Thymeleaf로 작성된 HTML 템플릿은 어플리케이션을 통한 실행이 아니더라도 브라우저에서 열었을 때 HTML 내용을 그대로 확인 가능 (Natural Templates)
- 특징
- JSP와 달리 Servlet Code로 변환되지 않음
- 서버 사이드 HTML 렌더링 (SSR)
- 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용
- 네츄럴 템플릿
- HTML을 유지
- 웹 브라우저에서 파일을 직접 열어도 내용을 확인할 수 있고, 서버를 통해 뷰 템플릿을 거치면 동적으로 변경된 결과를 확인
https://naver.me/GwI5nFcX
3. SpringBoot
- 개발에 필요하 복잡한 설정을 대신해줌
- 개발자가 복잡한 설정에 시간을 소모하지 않고 스프링 기반의 어플리케이션을 개발
- 특징
- 의존성과 버전 관리
- 내장서버 보유 (내장 톰캣)
https://naver.me/xkIxwBeB
4. JPA (Java Persistence API)
- 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음
- 실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크
- 사용 이유
- 반복적인 CRUD SQL을 처리
- 관계형 데이터베이스로 데이터를 관리하기 위해 JDBC API를 이용하여 SQL문을 다루는 과정에서 문제 발생
- 장점
- SQL 중심적인 개발에서 객체 중심 개발이 가능함
- SQL문을 직접 사용하는 것보다 훨씬 생산성이 좋음
- 필드 변경시 쿼리문을 전부 수정하지 않아도 됨 (유지 보수 측면에서 좋음)
https://naver.me/FZWJwchw
https://naver.me/5ewGjXEV
5. Spring Data JPA
- Spring Data JPA를 사용하여 레포지터리에 구현 클래스 없이 인터페이스만으로 개발 완료할 수 있음 (CRUD 기능 자동으로 모두 구현 및 주입)
- JPA 기반의 repository를 쉽게 구현할 수 있도록 도와주는 모듈
- Spring Data는 Spring 어플리케이션에서 데이터 접근 시보다 친숙하고 일관된 방식을 사용할 수 있도록함
- 각 데이터 저장소의 고유한 특징은 그대로 유지
스프링
https://naver.me/F9zQFP8A
https://naver.me/5v4I5dqb
728x90
반응형
'프로젝트 > U-CAMP' 카테고리의 다른 글
FE - JS, jQuery 미션 (0) | 2025.04.10 |
---|---|
BE - 수업 실습 (0) | 2025.04.10 |
BE - 미션 (0) | 2025.04.10 |
BE - 시험 (0) | 2025.04.10 |
SQL 문제 (0) | 2025.04.10 |