본문 바로가기

728x90

SpringFramework

(9)
[JAVA] Mysql GROUP_CONCAT 데이터 int 타입으로 변경하기 마이바티스 환경에서 데이터를 GROUP_CONCAT을 사용하여 조회하면 데이터는 문자열 (String) 형태로 데이터를 받게 된다 해당 데이터를 형 변환하는 방법이다 해당 예제에서는 team_id를 기준으로 팀에 속해있는 사용자 번호를 GROUP_CONCAT하여 조회하는 데이터다. 먼저 데이터베이스를 조회하는 쿼리이다. SELECT team_id, team_name, GROUP_CONCAT(user_id) AS "userArr" FROM tb_student GROUP BY team_id; 위와 같이 데이터를 조회하게 되면, team_id team_name userArr 1 청팀 1,2,3,4,5 2 백팀 6,7,8,9,10 이런 식으로 데이터가 조회된다. 마지막 컬럼은 user_id 데이터가 모여있는 ..
[SpringFramework] 마이바티스 환경에서 INSERT,UPDATE 무시하기 스프링 프레임워크 환경에서 개발을 진행할 때, 서비스를 생성하여 데이터를 [등록] 하거나 [수정]하는 경우들이 있다. 하지만 해당 API를 요청하더라도 데이터를 등록하거나 수정하지 않도록 무시하고 싶은 경우가 있을 수 있다 이 방법을 사용하여 구현해 놓으면, 해당 서비스가 실행되어도 데이터베이스에서는 쿼리가 실행되지 않아서 등록되지 않는 현상을 볼 수 있다 구현 우선 해당 기능을 구현하기 위해 데이터베이스에서는 유니크한 인덱스를 생성해야한다. 생성한 유니크 인덱스 값을 통해 중복된 값이 들어오면 무시하도록 구현할 생각이기 때문이다 예를들어서, 책을 빌린 이력을 데이터베이스에 한 개의 row만 저장하고 싶다 그러면 책 빌린 이력테이블에 유니크 인덱스를 생성해준다 CREATE UNIQUE INDEX "id_..
(STS)Spring mvc 프로젝트 생성 및 설정 +JDK 설정 + tomcat 연동 후 실행 STS (Spring Tool Suite 4) 를 이용한 웹 프로젝트나 웹 서비스를 개발할 때, 프로젝트를 생성하기까지의 과정을 설명한다. 먼저, 내 피시에 JDK가 설정되어있는지 확인하고, 설정되어있지 않다면, JDK를 다운로드 받자 https://www.oracle.com/kr/java/ 오라클 페이지에서 JDK를 원하는 버전으로 다운로드 받았다면, 환경변수로 등록해주어야한다. JDK 파일이 존재하는 파일 경로를 바로 지정해줘도 되지만, 나는 JDK파일을 위한 폴더를 생성해서 JDK파일을 보관해둔다. 먼저 압축 해제한 JDK 파일을 c://Program Files/java/ 폴더를 생성하고, java폴더 안에 해당 JDK폴더를 넣어주고, 환경변수를 등록해보자. 1.내 PC에서 오른쪽 마우스 클릭 ->..
REST API란 REST API ( Representational State Transfer Application Programming Interface) REST는 아키텍처 원칙이다. 쉽게 말해서, 서버와 클라이언트간에 무언가 정보교환이 존재할 때, REST 아키텍처가 정해놓은 규칙에 따라 요청 및 응답을 하는 것이다. API는 애플리케이션 프로그래밍 인터페이스의 약자로, 애플리케이션 소프트웨어를 구축하고 통합하는 프로토콜 세트이다. API는 정보를 제공하는 자와 정보를 사용하는 자가 존재하고, 사용자의 호출과 제공자의 응답으로 이루어져 있다. 요약해서 API를 구현할 때, REST아키텍처에 따라 개발을 하게 되면, 해당 API는 REST API라고 간주될 수 있는 것이다. REST API 설계 - URL 주소는 [동..
[SpringFramework] 스프링에서 Jsoup를 이용해 웹 사이트 크롤링을 해보자 (op.gg 크롤링 하기) 스크랩핑(혹은 웹 스크랩핑)은 인터넷에서 존재하는 데이터를 컴퓨터 프로그램을 통하여 자동화된 방법으로 웹에서 데이터를 수집하는 모든 작업을 말한다. 크롤링은 많은 사람들이 스크랩핑과 혼용하여 사용하고 있지만, 사실은 그 의미가 상이한 용어다. 크롤링은 데이터를 수집하고 분류하는 것을 의미하며, 주로 인터넷 상의 웹페이지(html, 문서 등)를 수집해서 분류하고 저장하는 것을 뜻한다. 엄밀히 말해, 크롤링은 데이터의 수집 보다는 여러 웹페이지를 돌아다닌다는 뜻이 강하며, 데이터가 어디에 저장되어 있는지 위치에 대한 분류 작업이 크롤링의 주요 목적이라 할 수 있다. 먼저, SpringFramework 환경에서 크롤링을 구현하기 위해선 Jsoup 라이브러리를 추가해야한다. pom.xml을 열어서 해당 라이브러..
[SpringFramework] 스프링프레임워크 게시판 구현 예제_2 지난 포스팅에 이어 게시판 만들기 두번 째이다 지난 포스팅에서는 게시판 화면을 호출하는 것까지 작성했다 이번 편에서는 게시판 자료를 등록하는 것부터 시작하겠다 게시판 구현 예제 1편 https://hdhdeveloper.tistory.com/20 [SpringFramework] 스프링환경에서 게시판 만들기_1 해당 포스팅에서는 게시판을 제작하는 글을 작성할 것이다. 나는 dataTables 라는 라이브러리를 사용해서 게시판 보드를 조금 쉽게 작성해보았다. dataTables에 대해 자세한 내용을 알고 싶다면 아래 hdhdeveloper.tistory.com 게시판 구현 예제 3편 https://hdhdeveloper.tistory.com/23 [SpringFramework]스프링환경에서 게시판만들기_3(..
[SpringFramework] 스프링프레임워크 회원가입 기능 구현 예제_1 Spring에서 회원가입 예제 2편 https://hdhdeveloper.tistory.com/17 [SpringFramework] db 연동 후 회원가입 로직 작성하기_2 지난 번, mysql 연동까지 진행했고 이 페이지에서는 회원가입 폼 작성 및 db 연동 작업을 진행하겠다. 먼저 프레임워크에서 프로젝트를 생성하게 되면, 기본적으로 homeController.class와 home.jsp 파일이 hdhdeveloper.tistory.com Spring에서 회원가입 예제 3편 https://hdhdeveloper.tistory.com/18 [SpringFramework] db 연동 후 회원가입 로직 작성하기_3 이전 포스팅에서 ajax를 호출하는 것까지 작성을 했다. ajax의 url 에 적힌 경로를 호..
[Spring Framework] Sitemesh 설정 방법 Sitemesh란 ? 사용자가 화면을 효율적으로 구성할 수 있도록 도와주는 프레임워크이다. 페이지 별로 공통되는 영역은 공통영역으로 관리될 수 있도록 할 수 있어서 화면의 디자인 구성이 복잡해지지 않는다. Sitemesh는 web.xml에 filter 클래스를 이용해 사용 설정을 마친 후, sitemesh.xml과 decorators.xml 을 정의해야한다. sitemesh.xml의 위치는 /WEB-INF/ 위치에 위치시키면 되고, decorators.xml은 sitemesh.xml 파일에서 경로를 설정해줄 수 있기 때문에 아무 곳이나 위치시키면 되지만, 편의상 같은 폴더에 위치시키는 걸 추천한다. sitemesh.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1..

728x90