spring 설치 및 초기 설정
https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/downloads-list.html
Downloads for Amazon Corretto 21 - Amazon Corretto 21
Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.
docs.aws.amazon.com
https://github.com/spring-projects/sts4/wiki/Previous-Versions
Previous Versions
The next generation of tooling for Spring Boot, including support for Cloud Foundry manifest files, Concourse CI pipeline definitions, BOSH deployment manifests, and more... - Available for Eclipse...
github.com
https://projectlombok.org/download
Download
projectlombok.org
폴더(springTest) 하나 맹글고
다운받은 jd, sts폴더, lombok 파일을 폴더에 넣고,
workspace 폴더 하나 만듭니당
jdk21 폴더에 bin폴더까지 경로 복사 후
sts4.26 폴더에 SpringToolSuite4.ini 파일에
- vm 아래 한 줄 지우고
경로 붙여넣기 한 후에 \javaw.exe 추가 입력
cmd에서 cd로 lombok 파일 넣은 폴더(springTest)로 경로 이동후
아래 코드 실행
java -jar lombok.jar
스프링 파일 있는 경로로 location 잡고 설치 !!
SpringToolSuite4.exe 스프링 실행
경로는 아까 만들었던 workspace 경로로 설정!
프로젝트 생성
new - spring starter project
maven, 21, jar (main 메소드 때문에), java
group : 회사 도메인명(뒤집어서)
artifact : 프로젝트명
Actuator, lombok, web, DevTools (소스 고치면 톰캣 알아서 start 시켜줌)
추가
서버 설정
application.properties에서 서버 설정
spring.application.name = 프로젝트명
server.port = 포트번호
프로젝트 우클릭 - run as - spring boot app
서버 실행된 것 확인
로깅 레벨 설정
application.properties에서 로깅설정하기
#logging.level.패키지명
logging.level.com.sumin.just = debug
log.debug, log.info, log.warn
↓
log4j 라이브러리가 나옴
↓
SL4가 나옴
static 폴더에 html 파일 생성
static 폴더 우클릭 new 하면 html 안나옴 이슈 발생!!
help - eclipse marketplace 에서
jsp 검색하면 eclipse enterprise java and web developer tools 설치!!
confirm하고 accept후 finish
select All 하고 restart!!
그럼 이제 html 파일 만들 수 있읍니당
인코딩 설정
window - prefreneces - enc 검색
하단에 기본 인코딩을 UTF-8로 설정하고 update
기본 웹브라우저 설정
실행
하단 local에 프로젝트 클릭하고 start 누르면 서버 실행
브라우저 아이콘 누르면 브라우저 열림 !
DB연동
원래는 자바 소스 안에 sql 문이 있었는데
그 둘을 분리시켜주는 것이 mybatis !!
mybatis는 interface와 sql을 합쳐서 class로 만들어준당
help - marketplace - mybatipse 검색 후 설치 & restart
oracle
sys 계정으로 접속 후 아래 세 줄 실행
CREATE USER 계정 IDENTIFIED BY 비밀번호;
GRANT CONNECT, RESOURCE, DBA TO 계정; -- role : connect, resource, dba는 오라클에서 기본적으로 제공해주는 권한의 묶음
COMMIT;
+ 클릭 후
위에서 설정한 이름, 비밀번호
포트, 서비스 이름 설정 후
테스트 눌러서 성공됐는지 확인
스프링으로 돌아와서
프로젝트 우클릭 - spring - add starters
mybatis framework, oracle driver, jdbc api 체킁
next
pom.xml 체킁 (pom.xml에 추가한다는 뜻)
application.properties에 아래 코드 추가
포트번호랑 id 오라클 계정에 맞게 설정해주장
#DB 연결 설정
spring.datasource.url=jdbc:oracle:thin:@localhost:8521/FREEPDB1
spring.datasource.username=오라클계정이름
spring.datasource.password=오라클비밀번호
#Mybatis 설정(아래 두개는 필수 설정)
#카멜 표기법으로 변경
mybatis.configuration.map-underscore-to-camel-case=true
#null을 어떻게 표기해줄건지 보통 varchar나 null로 설정
mybatis.configuration.jdbc-type-for-null=varchar
#패키지명으로 설정(나중에 vo 호출할때 클래스명만 적을 수 있게 하는거임)
mybatis.type-aliases-package=com.sumin.just.vo
mybatis.mapper-locations=classpath:mybatis/mapper/*-Mapper.xml
# 아래도 파일업로드 용량설정이당 그냥 참고하장
# default 128K
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=12MB
spring.servlet.multipart.file-size-threshold=12MB
저장하고 서버 실행되는지 확인!
프로젝트 우클릭 build path - configure build path - source에 있는 경로들이 다 classpath!
/java는 자바클래스,
/resources는 그 외의 것들을 모아둔 것
mapper는 자바가 아니니까 resources에 mybatis - mapper 폴더 만들기
요로코롬!
vo 만들기
/
create or replace FUNCTION FN_GETCAMEL(COLUMN_NAME IN VARCHAR2)
RETURN VARCHAR2
IS
RSLT VARCHAR2(30);
BEGIN
--카멜표기로 변환(SITE_NUM -> siteNum)
SELECT LOWER(SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),1,1))
|| SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),2) INTO RSLT
FROM DUAL;
--리턴
RETURN RSLT;
END;
/
-- 코드조각
SELECT COLUMN_NAME
, DATA_TYPE
, CASE WHEN DATA_TYPE='NUMBER' THEN 'private int ' || FN_GETCAMEL(COLUMN_NAME) || ';'
WHEN DATA_TYPE IN('VARCHAR2','CHAR') THEN 'private String ' || FN_GETCAMEL(COLUMN_NAME) || ';'
WHEN DATA_TYPE='DATE' THEN 'private Date ' || FN_GETCAMEL(COLUMN_NAME) || ';'
ELSE 'private String ' || FN_GETCAMEL(COLUMN_NAME) || ';'
END AS CAMEL_CASE
, '<result property="'||FN_GETCAMEL(COLUMN_NAME)||'" column="'||COLUMN_NAME||'"/>' RESULTMAP
FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = '테이블명(대문자로)'
AND OWNER = '계정이름(대문자로)';
/
오라클에서 위 코드 실행후
출력된 결과 복사해서 vo 파일에 붙여넣고
@Getter, @Setter, @ToString import 하깅 (@Data 하나만 import 해도 됨)
옆에 outline에서 getter, setter 생성된 것 확인
mybatis xml mapper 파일 생성
아까 application.properties에서 매퍼 설정할 때
*-Mapper.xml로 했으니까 그 형식에 맞게 이름을 설정해준당
Mapper 안에 있는 파일 안에 있는 파일 우클릭 후 copy qualified name 클릭후
아까 만든 mybatis xml mapper 파일의 namespace 경로에 붙여넣기 하면 된당