*** 설명 ***
유니크 인덱스 혹은 PRIMARY KEY 값이 중복되어 인서트하지 못하는 경우 업데이트를 수행한다. 오라클의 MERGE INTO와 비슷한 기능.
*** 예제 ***
INSERT INTO TEST_TABLE (A, B, C)
VALUES (1, 2, 3)
ON DUPLICATE KEY UPDATE B = 4, C = 5;
=> A 컬럼이 PRIMARY KEY.
TEST_TABLE에 A 컬럼이 1 인 행이 없으면 INSERT INTO TEST_TABLE (A, B, C) VALUES (1, 2, 3) 이, 있으면 UPDATE B = 4, C = 5 이 실행된다.
스프링 프로퍼티 사용하기
*** 설명 ***
Value 어노테이션을 사용하여 프로퍼티 값을 가져올 수 있다.
값에 따라서 String, boolean 등의 형식을 지정할 수 있다.
***예제 ***
@Value("${prop.name1}")
private String propName1;
@Value("${prop.name2}")
private boolean propName2;
Value 어노테이션을 사용하여 프로퍼티 값을 가져올 수 있다.
값에 따라서 String, boolean 등의 형식을 지정할 수 있다.
***예제 ***
@Value("${prop.name1}")
private String propName1;
@Value("${prop.name2}")
private boolean propName2;
Java - SHA1 샘플
* byte 데이터를 입력받아 SHA1로 변환한 결과 문자열을 리턴한다.
public static String convertSHA1(byte[] srcBytes)
{
try
{
MessageDigest messageDigest = MessageDigest.getInstance("SHA-1");
messageDigest.update(srcBytes);
byte digestBytes[] = messageDigest.digest();
return String.format("%0" + (2 * digestBytes.length) + "x", new BigInteger(1, digestBytes));
}
catch(Exception e)
{
}
return null;
}
public static String convertSHA1(byte[] srcBytes)
{
try
{
MessageDigest messageDigest = MessageDigest.getInstance("SHA-1");
messageDigest.update(srcBytes);
byte digestBytes[] = messageDigest.digest();
return String.format("%0" + (2 * digestBytes.length) + "x", new BigInteger(1, digestBytes));
}
catch(Exception e)
{
}
return null;
}
MySql - 문자열 길이 (LENGTH)
*** 문자열 길이를 구하는 함수 ***
LENGTH : 바이트 수
CHAR_LENGTH : 글자 수
BIT_LENGTH tprk : 비트(1바이트는 8비트) 수
*** 예제 ***
SELECT LENGTH('대한민국'), CHAR_LENGTH('대한민국'), BIT_LENGTH('대한민국');
=> 12 4 96
SELECT LENGTH('English'), CHAR_LENGTH('English'), BIT_LENGTH('English');
=> 7 7 56
LENGTH : 바이트 수
CHAR_LENGTH : 글자 수
BIT_LENGTH tprk : 비트(1바이트는 8비트) 수
*** 예제 ***
SELECT LENGTH('대한민국'), CHAR_LENGTH('대한민국'), BIT_LENGTH('대한민국');
=> 12 4 96
SELECT LENGTH('English'), CHAR_LENGTH('English'), BIT_LENGTH('English');
=> 7 7 56
피드 구독하기:
글 (Atom)