clean을 하니까 Tomcat 오류가 해결되었다.
먼저 tomcat server 우클릭하고 clean
그리고 이클립스 메뉴 project clean
마지막으로 tomcat server에서 해당 프로젝트 우클릭하고 clean module work directory
'트러블슈팅' 카테고리의 다른 글
[Eclipse] 프로젝트에 빨간색 엑스 표시가 뜰때 (0) | 2020.06.16 |
---|
clean을 하니까 Tomcat 오류가 해결되었다.
먼저 tomcat server 우클릭하고 clean
그리고 이클립스 메뉴 project clean
마지막으로 tomcat server에서 해당 프로젝트 우클릭하고 clean module work directory
[Eclipse] 프로젝트에 빨간색 엑스 표시가 뜰때 (0) | 2020.06.16 |
---|
1. jQuery에 의한 HTML 요소/노드의 선택/추출
ㅇ jQuery() 또는 $() 함수에, CSS 선택자 형식으로 인수 전달하면, 이에 매칭하는 요소들을 리턴
- HTML 문서 DOM 트리의 요소들에 대해,
- () 안에 언급된 1 이상 매칭되는 요소들을 추출
2. jQuery 선택자 사용법 : $('선택자') ☞ CSS 선택자 참조
ㅇ 기본 선택자 : *, id, class, 태그 선택자
- $('*') : 모든 요소 선택
- $('#id명')
- $('.class명')
- $('태그명')
ㅇ 조합 선택자 : 콤머(,) 및 샵(#)
- OR 선택자 : $('#id명_1, #id명_2, #id명_3, ... ')
- AND 선택자 : $('태그명#id명') => 해당 태그명에 해당 id명이 동시에 부합되는 것
ㅇ 계층 선택자
- 직계 자식 선택자 (> 기호) : $('부모태그명 > 자식태그명')
. 부모 바로 밑 직계 자식 만 대상으로 함
- 모든 하위 선택자 (빈 칸) : $('#id명 태그명')
. 부모 밑 모든 자손 요소들을 대상으로 함
- 다음 인접 선택자 (+ 기호) : $('왼쪽형제태그명 + 오른쪽형제태그명')
. 동등 계층에서, 자신포함 바로 다음 인접 형제 요소 만을 선택
- 다음 형제 선택자 (~ 기호) : $('왼쪽형제태그명 ~ 오른쪽형제태그명')
. 동등 계층에서, 자신 포함 뒤의 모든 일치하는 형제 요소들을 모두 선택
ㅇ 속성 선택자 (찾는 속도가 다소 느림)
- $('태그명[속성명]') : 속성 존재 여부로 만 요소 선택
- $('태그명[속성명="완전일치속성"]') : 속성 값이 일치 여부
- $('태그명[속성명*="부분일치속성"]') : 속성 값에 주어진 문자열의 포함 여부로 요소 선택
- $('태그명[속성명~="일치속성"]') : 속성 값에 주어진 문자열이 단어로써 포함
- $('태그명[속성명|="일치속성"]') : 속성 값에 주어진 문자열 그대로 포함 여부
또는, 하이픈(-) 붙은 접두어로써 포함
- $('태그명[속성명!="일치속성"]') : 속성 값이 존재 안하거나, 주어진 문자열과 불일치
- $('태그명[속성명^="시작일치속성"]') : 속성 값에 주어진 문자열로 시작하는 요소 선택
- $('태그명[속성명$="끝일치속성"]') : 속성 값에 주어진 문자열로 끝나는 요소 선택
ㅇ 필터 선택자 (찾는 속도가 다소 느림)
- 콜론(:) 기호로 시작하는 문자열 형식 ☞ 아래 3.항 참조
3. jQuery 필터 선택자 사용법 : $('선택자:필터형식')
ㅇ 특정 아이템은 제거하고 필요한 것 만 걸러내는 것
- 콤머(:) 뒤에 필터 이름을 적음
ㅇ 위치 필터
- :even => 짝수번째(짝수 인덱스를 갖는) 엘리먼트 만 선택 (주의: 인덱스가 0부터 시작)
. 例) $('tr:even')
- :odd => 홀수번째(홀수 인덱스를 갖는) 엘리먼트 만 선택
* 특히, odd,even 필터는 CSS 선택자에는 없는 유용한 기능 임
- :nth-child(index/even/odd/equation) => n번째 자식 요소를 선택
. (이때, 자식 순서는 1부터 시작)
- :first => 첫번째 엘리먼트 만 선택
- :last => 마지막 엘리먼트 만 선택
- :eq(i) => i번째 요소를 선택 (주의: 인덱스 i는 0부터 시작)
- :gt(i) => i번째 이후의 요소를 선택
- :lt(i) => i번째 이전의 요소를 선택
ㅇ 선택 필터
- 폼 요소 선택
. 폼 요소 선택 => :input, :text, :radio, :checkbox, :submit, :button 등
. 폼 요소 상태에 따른 선택 => :selected, :checked, :disabled, :enabled, :focus 등
. 例) $('input[type="radio"]:checked),
$('input[type="password"], input[type="text"]:disabled')
- header 요소 선택 => :header
- 비 선택 => :not(원치않는선택자)
- 포함된 것 만을 선택 => :has(내부포함선택자)
- 텍스트 포함 선택 => :contains('텍스트')
- 숨겨진 것 만을 선택 => :hidden
- 보이는 것 만을 선택 => :visible
4. jQuery 상세 선택
ㅇ 현재 선택된 요소 집합에서 더 좁혀 탐색
ㅇ 조건 필터링 메서드
* CSS 선택자에 의해 선택된 요소 집합 중에서,
. 필터링에 의해 세부적으로 선택
- $().first() : 선택된 요소들 중 1번째 요소를 선택
- $().last() : 선택된 요소들 중 마지막 요소를 선택
- $().filter() : 선택된 요소들 중 선택 조건에 맞는 요소를 선택
. filter( selector )
. filter( function )
.. Type: Function( Integer index, Element element ) => Boolean
. filter( elements )
. filter( selection )
- $().has() : 선택된 요소의 후손들 중 선택 조건에 맞는 요소를 선택
- $().not() : 선택된 요소 집합에서 일치하지 않는 요소들 만을 선택
. 例) $("a").not("[data-id='1']") : a 요소들 중 data-id가 1이 아닌 요소를 선택
- $().eq(index) : 선택된 요소들 중 index+1번째 요소를 선택
- $().slice(start[,end]) : start+1 ~ end번째 요소를 선택
ㅇ 조건 탐색 메서드
* 이미 선택된 요소를 기점으로,
. 어느 방향으로도 부모,형제,자식 노드를 접근하며 새로운 요소를 탐색
- $().find( [Selector] ) : 현재 선택된 요소 내부에서 선택
- $().parents( [Selector] ) : 모든 상위 요소들을 반환
- $().parent( [Selector] ) : 가장 근접한 상위 요소 1개 만 반환
- $().closest( [Selector] ) : 가장 근접한 상위 요소 1개 만 반환
. 단, 특정한 요소부터 지정 가능
- $().children( [Selector] ) : 자식 노드들을 반환
- $().siblings( [Selector] ) : 인접한 형제 노드들을 반환
- $().prev( [Selector] ) : 직전 형제 노드 만을 반환
- $().prevAll( [Selector] ) : 이전 모든 노드들을 반환
- $().next( [Selector] ) : 직후 형제 노드 만을 반환
- $().nextAll( [Selector] ) : 이후 모든 형제 노드들을 선택
- $().add( [Selector] ) : 선택되어 넘어온 요소 집합에 현재 선택한 요소 집합과의 합집합
- $().addBack( [Selector] ) : 선택되어 넘어온 요소 집합에 현재 선택한 요소 집합과
그 이전에 제외되었던 요소 집합도 추가하여 합집합
- $().end( [Selector] ) : 직전 단계에서 선택되었던 요소를 선택
* [Selector] : (option) CSS 선택자
출처 : www.ktword.co.kr
[Javascript] 특정 날짜가 무슨 요일인지 구하는 함수 (0) | 2020.06.13 |
---|
공부를 할때는 INNER JOIN만 주로 써왔는데
실제로 회사를 와보니 여러가지 JOIN을 쓸 일이 생각보다 많았다.
구글링을 하다보니 괜찮을 사진을 찾게되어 올린다.
이 사진 하나면 웬만한 JOIN은 문제없이 할 수 있을 것 같다.
두 테이블 중에서 오른쪽 테이블에 조인시킬 컬럼의 값이 없는 경우에 사용을 하게 됩니다. 왼쪽 테이블 (Table A)의 값은 모두 다 나오지만 오른쪽 테이블 (Table B)의 값은 매칭이 되는게 없으면 출력이 되지 않음.
말 그대로 왼쪽 테이블 정보는 무조건 다 나옴
왼쪽 테이블 정보는 무조건 다 나옴
FULL OUTER JOIN은 왼쪽 및 오른쪽 외부 조인 의 결과를 결합하고 조인 절의 양쪽에있는 테이블에서 모든 (일치하거나 일치하지 않는) 행을 반환함
[MyBatis] RDBMS별 like 검색처리 방법 (0) | 2020.06.13 |
---|---|
[MyBatis] 동적쿼리 foreach문 (0) | 2020.06.13 |
[My-SQL] 날짜관련 함수 모음 (0) | 2020.05.30 |
내가 개발을 하면서 중요하다고 생각하는 함수에는 빨간색으로 표시해두었다.
dayofweek(date)
날짜를 한 주의 몇 번째 요일인지를 나타내는 숫자로 리턴한다.
(1 = 일요일, 2 = 월요일, ... 7 = 토요일)
mysql> select dayofweek('1998-02-03');
-> 3
weekday(date)
날짜를 한 주의 몇 번째 요일인지를 나타내는 숫자로 리턴한다. (0 = 월요일, 1=화요일 ... 6 = 일요일)
mysql> select weekday('1997-10-04 22:23:00');
-> 5
mysql> select weekday('1997-11-05');
-> 2
dayofmonth(date)
그 달의 몇 번째 날인지를 알려준다. 리턴 값은 1에서 31 사이이다.
mysql> select dayofmonth('1998-02-03');
-> 3
dayofyear(date)
한 해의 몇 번째 날인지를 알려준다. 리턴 값은 1에서 366 사이이다.
mysql> select dayofyear('1998-02-03');
-> 34
month(date)
해당 날짜가 몇 월인지 알려준다. 리턴 값은 1에서 12 사이이다.
mysql> select month('1998-02-03');
-> 2
dayname(date)
해당 날짜의 영어식 요일이름을 리턴한다.
mysql> select dayname("1998-02-05");
-> thursday
monthname(date)
해당 날짜의 영어식 월 이름을 리턴한다.
mysql> select monthname("1998-02-05");
-> february
quarter(date)
분기를 리턴한다 (1~ 4)
mysql> select quarter('98-04-01');
-> 2
week(date)
week(date,first)
인수가 하나일 때는 해달 날짜가 몇 번째 주일인지(0 ~ 52)를 리턴하고 2개일 때는 주어진 인수로 한 주의 시작일을 정해 줄 수 있다. 0이면 일요일을1이면 월요일을 한 주의 시작일로 계산해 몇 번째 주인가 알려준다.
mysql> select week('1998-02-20');
-> 7
mysql> select week('1998-02-20',0);
-> 7
mysql> select week('1998-02-20',1);
-> 8
year(date)
년도를 리턴한다.(1000 ~ 9999)
mysql> select year('98-02-03');
-> 1998
hour(time)
시간을 알려준다.(0 ~ 23)
mysql> select hour('10:05:03');
-> 10
minute(time)
분을 알려준다(0 ~ 59)
mysql> select minute('98-02-03 10:05:03');
-> 5
second(time)
초를 알려준다(0 ~ 59)
mysql> select second('10:05:03');
-> 3
period_add(p,n)
yymm 또는 yyyymm 형식으로 주어진 달에 n개월을 더한다. 리턴 값은 yyyymm의 형식이다.
mysql> select period_add(9801,2);
-> 199803
period_diff(p1,p2)
yymm 또는 yyyymm 형식으로 주어진 두 기간사이의 개월을 구한다
mysql> select period_diff(9802,199703);
-> 11
date_add(date,interval expr type)
date_sub(date,interval expr type)
adddate(date,interval expr type)
subdate(date,interval expr type)
위의 함수들은 날자 연산을 한다. 잘 만 사용하면 꽤나 편리한 함수 들이다. 모두 mysql 3.22 버전에서 새롭게 추가되었다. adddate() 과 subdate() 는 date_add() 와 date_sub()의 또 다른 이름이다.
인수로 사용되는 date 는 시작일을 나타내는 datetime 또는date 타입이다. expr 는 시작일에 가감하는 일수 또는 시간을 나타내는 표현식이다.
type 값의 의미
사용 예
second, seconds
초
minute, minutes
분
hour, hours
시간
day, days
일
month, months
월
year, years
년
minute_second, "minutes:seconds"
분:초
hour_minute, "hours:minutes"
시:분
day_hour, "days hours"
일 시
year_month, "years-months"
년 월
hour_second, "hours:minutes:seconds"
시 분
day_minute, "days hours:minutes"
일, 시, 분
day_second, "days hours:minutes:seconds"
일, 시, 분, 초
[예제]
mysql> select date_add("1997-12-31 23:59:59",interval 1 second);
-> 1998-01-01 00:00:00
mysql> select date_add("1997-12-31 23:59:59",interval 1 day);
-> 1998-01-01 23:59:59
mysql> select date_add("1997-12-31 23:59:59",interval "1:1" minute_second);
-> 1998-01-01 00:01:00
mysql> select date_sub("1998-01-01 00:00:00",interval "1 1:1:1" day_second);
-> 1997-12-30 22:58:59
mysql> select date_add("1998-01-01 00:00:00",interval "-1 10" day_hour);
-> 1997-12-30 14:00:00
mysql> select date_sub("1998-01-02", interval 31 day);
-> 1997-12-02
to_days(date)
주어진 날짜를 0000년부터의 일수로 바꾼다.
mysql> select to_days(950501);
-> 728779
mysql> select to_days('1997-10-07');
-> 729669
from_days(n)
주어진 일수 n로부터 날짜를 구한다
mysql> select from_days(729669);
-> '1997-10-07'
date_format(date,format)
format 의 정의에 따라 날자 혹은 시간을 출력한다. 매우 빈번히 쓰이는 함수 이다.
format 에 사용되는 문자는 다음과 같다.
%m
월이름 (january..december)
%w
요일명 (sunday..saturday)
%d
영어식 접미사를 붙인 일(1st, 2nd, 3rd, etc.)
%y
4자리 년도
%y
2자리 년도
%a
짧은 요일명(sun..sat)
%d
일(00..31)
%e
일(0..31)
%m
월(01..12)
%c
월(1..12)
%b
짧은 월이름 (jan..dec)
%j
한해의 몇 번째 요일인가 (001..366)
%h
24시 형식의 시간 (00..23)
%k
24시 형식의 시간 (0..23)
%h
12시 형식의 시간 (01..12)
%i
12시 형식의 시간 (01..12)
%l
시간 (1..12)
%i
분 (00..59)
%r
시분초12시 형식 (hh:mm:ss [ap]m)
%t
시분초 24시 형식 (hh:mm:ss)
%s
초 (00..59)
%s
초 (00..59)
%p
am 또는 pm 문자
%w
일주일의 몇 번째 요일인가(0=sunday..6=saturday)
%U
한해의 몇 번째 주인가(0..52). 일요일이 시작일
%u
한해의 몇 번째 주인가(0..52). 월요일이 시작일
%%
`%' 문자를 나타냄
위 표에 나와 있는 것들을 제외한 모든 문자는 그냥 그대로 출력된다.
mysql> select date_format('1997-10-04 22:23:00', '%w %m %y');
-> 'saturday october 1997'
mysql> select date_format('1997-10-04 22:23:00', '%h:%i:%s');
-> '22:23:00'
mysql> select date_format('1997-10-04 22:23:00',
'%d %y %a %d %m %b %j');
-> '4th 97 sat 04 10 oct 277'
mysql> select date_format('1997-10-04 22:23:00',
'%h %k %i %r %t %s %w');
-> '22 22 10 10:23:00 pm 22:23:00 00 6'
주의! : mysql 3.23 버전부터 % 기호가 각 형식문자 앞에 필요하게 되었다 그 이전 버전에서는 선택 사항이다.
time_format(time,format)
이 함수는 date_format()와 비슷한 역할을 하지만 단지 시,분,초 만을 나타낼 수 있다는 점이다.
curdate()
current_date()
오늘 날짜를 'yyyy-mm-dd' 또는 yyyymmdd 형식으로 리턴한다, 리턴 값은 이 함수가 문자열로 쓰이느냐 숫자로 쓰이느냐에 따라 달라진다.
mysql> select curdate();
-> '1997-12-15'
mysql> select curdate() + 0;
-> 19971215
curtime()
current_time()
'hh:mm:ss' 또는 hhmmss 형식으로 현재시간을 나타낸다. 리턴 값은 이 함수가 문자열로 쓰이느냐 숫자로 쓰이느냐에 따라 달라진다.
mysql> select curtime();
-> '23:50:26'
mysql> select curtime() + 0;
-> 235026
now()
sysdate()
current_timestamp()
오늘 날자와 현재 시간을 'yyyy-mm-dd hh:mm:ss' 또는 yyyymmddhhmmss 형식으로 리턴 한다, 역시 리턴 값은 이 함수가 문자열로 쓰이느냐 숫자로 쓰이느냐에 따라 달라진다. 실제 개발 시 사용자의 등록일시 등을 나타낼 때 유용하게 쓰이는 함수다. 뒷부분의 실전예제에서 보게 될 것이다.
mysql> select now();
-> '1997-12-15 23:50:26'
mysql> select now() + 0;
-> 19971215235026
unix_timestamp()
unix_timestamp(date)
인수가 없이 사용될 경우 현재 시간의 유닉스 타임스탬프를 리턴하고
만일 날짜형식의 date 가 인수로 주어진 경우에는 주어진 날짜의 유닉스 타임스탬프를 리턴한다 유닉스 타임스탬프 란 그리니치 표준시로 1970 년 1월 1일 00:00:00 이 후의 시간경과를 초단위로 나타낸 것이다.
mysql> select unix_timestamp();
-> 882226357
mysql> select unix_timestamp('1997-10-04 22:23:00');
-> 875996580
주의 : 만일 unix_timestamp함수가 timestamp 컬럼 에서 사용될 경우에는 주어진 시간이 타임스탬프로 바뀌지 않고 그대로 저장된다.
from_unixtime(unix_timestamp)
주어진 유닉스 타임스탬프 값으로부터 'yyyy-mm-dd hh:mm:ss' 또는 yyyymmddhhmmss 형식의 날짜를 리턴한다.
mysql> select from_unixtime(875996580);
-> '1997-10-04 22:23:00'
mysql> select from_unixtime(875996580) + 0;
-> 19971004222300
from_unixtime(unix_timestamp,format)
주어진 유닉스 타임스탬프 값을 주어진 날짜 형식에 맞게 바꿔서 보여준다. 여기서 사용되는 형식문자는 date_format() 함수에서 사용된 것과 같다.
아래 예에서 %x 는 형식문자가 아니므로 그냥 x 가 표시됨에 유의하기 바란다.
mysql> select from_unixtime(unix_timestamp(),
'%y %d %m %h:%i:%s %x');
-> '1997 23rd december 03:43:30 x'
sec_to_time(seconds)
주어진 초를 'hh:mm:ss' 또는 hhmmss 형식의 시간단위로 바꿔준다.
mysql> select sec_to_time(2378);
-> '00:39:38'
mysql> select sec_to_time(2378) + 0;
-> 3938
time_to_sec(time)
주어진 시간을 초 단위로 바꿔준다.
mysql> select time_to_sec('22:23:00');
-> 80580
mysql> select time_to_sec('00:39:38');
-> 2378
[예제]
쿼리문으로 날짜계산
$query = "SELECT (now() - interval ′1 month′)::timestamp"; // 현재 부터 한 달 전 날짜
$query = "SELECT (now() + interval ′6 month′)::timestamp"; // 현재 부터 6 달 후 날짜 ...
[Q/A] mysql에서 타임스탬프값을 날짜값으로 바꿔주는 함수 있나요?
select from_unixtime(날짜필드) ...
하시면 우리가 보는 시간으로 보일거예요~
[MySQL에서 제공하는 날자 관련 함수]
DAYOFMONTH(date) : 날짜만 리턴해주는 함수. (1-31) 한달을 단위로.
DAYOFYEAR(date) : 이역시 날짜만 리턴. (1-366) 1년을 단위로.
TO_DAYS(date) : 연도와 달을 모두 날짜화 시켜서 리턴해줍니다.
(1999-01-01 = (1999 * 365) + (01 * 31) + 1)
MONTH(date) : 달을 리턴해주는 함수.
DAYNAME(date) : 요일을 문자로 리턴. (ex :'Thursday')
MONTHNAME(date) : 달을 문자로 리턴. (ex :'February')
WEEK(date) : 해당 연도에 몇번째 주인지를 리턴 (0-52)
YEAR(date) : 연도를 리턴 (1000-9999)
HOUR(time) : 시간 리턴
MINUTE(time) : 분 리턴
SECOND(time) : 초 리턴
DATE_FORMAT(date,format)
`%W' Weekday name (`Sunday'..`Saturday')
`%D' Day of the month with english suffix (`1st', `2nd', `3rd',
etc.)
`%Y' Year, numeric, 4 digits
`%y' Year, numeric, 2 digits
`%a' Abbreviated weekday name (`Sun'..`Sat')
`%d' Day of the month, numeric (`00'..`31')
`%e' Day of the month, numeric (`0'..`31')
`%m' Month, numeric (`01'..`12')
`%c' Month, numeric (`1'..`12')
`%b' Abbreviated month name (`Jan'..`Dec')
`%j' Day of year (`001'..`366')
`%H' Hour (`00'..`23')
`%k' Hour (`0'..`23')
`%h' Hour (`01'..`12')
`%I' Hour (`01'..`12')
`%l' Hour (`1'..`12')
`%i' Minutes, numeric (`00'..`59')
`%r' Time, 12-hour (`hh:mm:ss [AP]M')
`%T' Time, 24-hour (`hh:mm:ss')
`%S' Seconds (`00'..`59')
`%s' Seconds (`00'..`59')
`%p' `AM' or `PM'
`%w' Day of the week (`0'=Sunday..`6'=Saturday)
`%U' Week (`0'..`52'), Sunday is the first day of the week.
`%u' Week (`0'..`52'), Monday is the first day of the week.
`%%' Single `%' characters are ignored. Use `%%' to produce a
literal `%' (for future extensions).
[MyBatis] RDBMS별 like 검색처리 방법 (0) | 2020.06.13 |
---|---|
[MyBatis] 동적쿼리 foreach문 (0) | 2020.06.13 |
[DB] Join의 종류 (0) | 2020.05.30 |