728x90
반응형

 

기본적으로 사용되는 dependency만 작성했습니다.

 

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${springframework.version}</version>
        </dependency>
  
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        
        <!-- Hibernate -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>
        
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>${hibernate.version}</version>
        </dependency>
        
        <!-- C3PO -->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>${c3po.version}</version>
        </dependency>
        
        <!-- Hibernate Validator -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>${hibernate.validator}</version>
        </dependency>
        
        <!-- JSTL Dependency -->
        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>javax.servlet.jsp.jstl-api</artifactId>
            <version>${jstl.version}</version>
        </dependency>
        
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>${tld.version}</version>
        </dependency>
        
        <!-- Servlet Dependency -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>${servlets.version}</version>
            <scope>provided</scope>
        </dependency>
 
        <!-- JSP Dependency -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>${jsp.version}</version>
            <scope>provided</scope>
        </dependency>
        
        <!-- MySQL -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.connector.version}</version>
        </dependency>
        
        <!-- Add Jackson for JSON converters -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson.databind.version}</version>
        </dependency>
        
        <!-- junit Dependency -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
728x90
반응형

https://itinerant.tistory.com/69

 

[JavaScript] 키보드 이벤트 ( 단축키 ) 생성하는 방법

[JavaScript] 키보드 이벤트 ( 단축키/hotkey ) 생성하는 방법 ex) `Ctrl + Alt + c` 을 눌렀을 때 이벤트 생성 var isCtrl, isAlt; // ctrl. Alt 눌림 여부 확인 document.onkeyup = function(e) { if (e.w..

itinerant.tistory.com

 

728x90
반응형

날짜를 이용하여 주문번호를 생성하는 SQL문을 만들어보겠습니다.

 

SQL문

 

SQL문은 다음과 같이 작성합니다.

 

select concat(cast(d.receiptDate as char), right(concat("00000" , rowCount + 1),  6)) as receiptNo,
       count(e.cntNo) + 1 as cntNo, rowCount + 1 as rowCount
from tn_exp_hall as e, 
     (select concat(substr(date_format(now(), '%Y-%m-%d'), 1, 8)) as receiptDate,
     (select cntNo as cnt from tn_exp_hall order by cntNo desc limit 1) as rowCount FROM dual) d;

 

주문번호 생성 SQL문 분석

 

우선 SQL문에서 사용된 함수들은 다음과 같습니다.

 

concat : 문자열 결합

 

cast : 형변환

 

right : 문자열 자르기 * 오른쪽에서부터 입력한 숫자만큼 자름 -> right("안녕하세요", 3) => 결과 : 하세요.

 

count() : 괄호 안에 들어간 컬럼의 갯수 반환

 

substr : 문자열 자르기 * 문자열을 인덱스 단위로 자름

 

date_format() : 날짜 타입의 포맷 변환

 

 

위 SQL문에서 결과로 세 가지를 가져왔습니다.

 

첫번째, 생성한 주문번호

 

두번째, 총 데이터 갯수

 

세번째, Primary Key(기본키)의 마지막 값

 

 

주문번호 생성 과정

 

예제 날짜) 2021-10-05

 

 

1) 현재 날짜를 가져와서 문자열로 변환

결과 : 2021-10-05

 

2) 문자열로 변환한 현재 날짜 '년월일' 중에서 '일' 부분만 제거

결과 : 2021-10-

 

3) 지금 테이블에 있는 기본키 마지막 값을 가져옴 * 주의 : count()로 가져올 시 중간에 삭제된 데이터가 있을 경우 기본키 중복이 발생할 수 있습니다.

결과 : 현재 테이블에 있는 기본키의 마지막 값 * 여기에서는 37이라고 하겠습니다.

 

 

4) 가져온 기본키 마지막 값에 1을 더하고 앞에 문자열 '00000'을 결합

결과 : 0000037

 

5)  바로 위 '4)' 결과에서 오른쪽 6칸을 자름

결과 : 000037

 

6) '2)' 결과에 '5)' 결과를 결합

결과 : 2021-10-000037

 

 

실행결과

 

다음에 보이는 컬럼은 주문번호, 데이터 수, 마지막 기본키가 갖고 있는 값입니다.

 

728x90
반응형

변수명, 상수명, 메소드명, 클래스명, DB 컬럼명 등 이름을 지을 때 각각의 명명 규칙을 따라야 합니다.

 

예를 들어 클래스 이름은 단어의 첫 글자를 대문자로 표기하고, DB의 컬럼은 단어와 단어 사이에 언더바( _ ) 를 넣어줍니다.

 

주로 사용되는 명명 규칙 케이스를 정리해봅시다.

 

카멜 케이스

 

두번째 단어부터 단어의 첫 글자만 대문자로 적습니다.

예) camelCase

 

 

스네이크 케이스

 

각각의 단어 사이에 언더바( _ )를 적습니다.

예) snake_case

 

 

파스칼 케이스

 

각각의 단어 첫 글자를 대문자로 적습니다.

예) PascalCase

 

 

케밥 케이스

 

각각의 단어 사이에 하이픈( - )을 적습니다.

예) kebab-case

'Java Web > 개발 지식' 카테고리의 다른 글

WAS와 Web Server 차이  (0) 2022.01.28
Java 1.8에서의 변화  (0) 2022.01.27
스프링에서 IOC, DI, AOP란?  (0) 2022.01.26
HTTP와 HTTPS의 차이  (0) 2022.01.26
prefix와 suffix  (0) 2021.10.20

+ Recent posts