일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MVC 게시판
- 게시판 List
- log4j
- Oracle
- MVC
- MVC CRUD
- 게시판만들기
- delete
- Controller
- MVC설정
- spring
- Oracle 연결
- 환경설정
- CRUD
- mybatis
- Connection pool
- 게시판
- jdbc
- update
- 서비스계층
- service
- log4jdbc
- hikaricp
- Today
- Total
목록spring (44)
yahayaha

SQL Developer 실행 후 시퀀스를 이용해서 작업 처리. create sequence seq_board; create TABLE tbl_board( bno number(10,0), title varchar2(200) not null, content varchar2(2000) not null, write varchar2(50) not null, regdate date default sysdate, updatedate date default sysdata ); alter table tbl_board add constraint pk_board primary key(bno); 그리고 데미데이터를 몇개 추가함. 하지만 bno 칼럼은 매번 새로운 값이 들어가야 파므로 seq_board.nextval을 이용해..

드디어 길고 긴 게시판 만들기. 먼저 스프링 레거스 프로젝트를 만듬. 그리고 pom.xml에서 스프링의 버전과 java 버전 그리고 lombok, junil, Hikari, mybatis, log4jdbc 등 라이브러리 추가. 1.6 5.2.7.RELEASE 1.6.10 1.6.6 org.apache.maven.plugins maven-compiler-plugin 2.5.1 1.8 1.8 -Xlint:all true true org.springframework spring-jdbc ${org.springframework-version} org.springframework spring-tx ${org.springframework-version} org.springframework spring-test ${..

스프링 MVC를 이용하는 경우 작성되는 Controller는 다음과 같은 특징이 있음. 1. HttpServletRequest, HttpServelResponse를 거의 사용할 필요 없이 필요한 기능 구현 ( HttpServletRequest를 쓰는 가장 큰 이유는 파라미터를 수집하려고 사용하는 것인데 자동으로 처리해줌. ) 2. 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용가능 3. GET 방식, POST 방식 등 전송 방식에 대한 처리를 어노테이션으로 처리 가능 (@GetMapping @PostMapping) 4. 상속/인터페이스 방식 대신에 어노테이션만으로도 설정가능. 1. @Controller, @RequestMappin 먼저 @Controller가 뭘 뜻하냐면 해당 클래스의 인스턴..

스프링 MVC는 흔히 ' 모델 2 '라는 방식으로 처리되는 구조를 가짐. 모델 2 방식은 쉽게 말해서 ' 로직과 화면을 분리 '하는 스타일의 개발 방식임. 모델 2방식은 MVC 구조를 사용하는데 그림으로 한번 봐보자. 모델 2방식에서는 사용자의 Request는 특별한 상황이 아닌 이상 먼저 Controller를 호출함. 이렇게 설계하는 가장 중요한 이유는 나중에 View를 교체하더라도 사용자가 호출하는 URL 자체에 변화가 없게 만들어 주기 위함임. Controller는 데이터를 처리하는 존재를 이용해서 데이터(Model)를 처리하고 Response 할 때 필요한 데이터(Model)를 View 쪽으로 전달하게 됨. 모델 2 MVC 패턴을 구글링하고 찾아보면 항상 나오는 말이 있다. " 유지보수가 좋다 "..

일단 스프링 레거시 프로젝트를 하나 만듬. 하지만 스프링 레거시 프로젝트의 단점이 만들떄마다 버전이 너무 낮아서 버전업을 해줘야함. JDK 버전도 수정을 해야하고 스프링 버전도 수정을 해야하고, 나머지 다른 필요한 라이브러리들을 추가하는 작업등이 필요함. 먼저 스프링버전과 JDK 버전을 수정. 그리고 pom.xml을 한번 만졌으면 프로젝트 오른쪽 클릭 - maven - update project를 눌러줘야함. 그리고 Junit 버전, lombok 추가, servlet 버전 log4j 버전 수정등등 작업을 해야함. javax.servlet javax.servlet-api 4.0.1 provided junit junit 4.12 test org.springframework spring-test ${org.s..

5. XML 매퍼 활용하기 SQL이 복잡하거나 길어지는 경우에는 어노테이션 보다는 XML을 이용하는 방식을 더 선호하게 됨. 다행히 MyBatis-Spring의 경우 Mapper 인터페이스와 XML을 동시에 이용할 수 있음. 먼저 mapper 폴더를 만들어봅시다. 한번에 폴더를 만들지 말고 하나씩 만들어야함. 생성이 되었다면 XML 파일에는 MyBatis의 XML 매퍼에서 이용하는 태그에 대한 설정이 필요함. Mapper 인터페이스와 XML을 같이 이용하기 위해 기존의 TimeMapper 인터페이스에 추가적인 메서드를 선언. 실제 SQML은 XML을 이용해서 처리할 것이라 생성한 TimeMapper.xml에 코드를 추가해줘야함. SELECT sysdate FROM dual XML 매퍼를 이용할 때 신경 ..

스프링 프레임워크와 MyBatis를 연동하고 좀 더 빠르게 SQL을 처리할 수 있는 구조를 만들려함. 지난 포스팅과 마찬가지로 테스트를 최 우선적으로 진행해서 확인함. MyBatis를 이야기할떄 나오는게 몇가지 있는데 바로 JPA라고 생각함. 두 차이점을 간단하게 공부를 한 결과 MyBatis JPA 장점 1. 접근이 쉽고 코드가 간결함(JPA보다 배우기 쉬움) 2. SQL문과 프로그래밍 코드가 분리되어 있어서 SQL문에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일 하지 않아도 됨. 3. 다양한 언어로 구현이 가능 (이식성 좋음) 4.동적 쿼리 사용시 간편하게 구현이 가능. 1. 특정 DB에 종속되지 않음. MyBatis와 다르게 DB가 바뀐다해도 설정 파일에 어떤 데이터베이스를 사용하는지 알려주면..

여러 명의 사용자를 동시에 처리하는 웹 어플리케이션 경우 데이터베이스 연결을 이용할 떄는 커넥션 풀(Connection Pool)을 이용하기에 스프링에 커넥션 풀을 등록해서 사용하는것이 좋음. Java에서는 DataSource라는 인터페이스를 통해서 커넥션 풀을 사용함. 하지만 매번 데이터베이스와 연결 하기에는 번거로움이 많으니 미리 연결을 맺어주고 반환하는 구조를 이용하여 성능을 향상 시킴. 커넥션 풀은 여러 종류가 있고, spring-jdbc 라이브러리를 이용하는 방법도 있지만. 공부하면서 HikariCP를 사용 할 예정임. 1. 라이브러리 추가와 DataSource 설정 JDK버전별 maven설정이나 기타 설정은 HikariCp github에서 참고해보는 것이 좋음. https://github.co..