본문 바로가기

MySQL4

[mybatis/mysql] mysql procedure 사용 시 OUT parameter 오류 해결 방법 mybatis에서 mysql procedure를 사용하기 위해 다음과 같이 mapper 파일에 작성했다. {call myProcedure( #{inputParam1, mode=IN, jdbcType=INTEGER} , #{inputParam2, mode=IN, jdbcType=VARCHAR} , #{outputParam1, mode=OUT, jdbcType=VARCHAR} )} ERROR 1. CallableStatement.registerOutParameter(18, 12) java.sql.SQLException: Parameter number 18 is not an OUT parameter 쿼리를 호출하니 input 파라미터는 잘 들어가는데 out 파라미터를 제대로 인식하지 못하는 오류가 발생했다. .. 2021. 11. 2.
[mysql] 암호화 & 복호화, 인코딩&디코딩 고객의 개인정보처럼 중요한 정보의 보안을 위해서 DB에 저장되는 값을 암호화해야 하는 경우가 있다. 암호화한 값을 쿼리의 입력 값으로 전달해도 되지만 mysql에서 제공하는 함수를 이용해서 암호화 작업을 할 수도 있다. 암호화 & 인코딩 #암호화 AES_ENCRYPT({암호화 할 값},{암호화 키}) #인코딩 TO_BASE64(AES_ENCRYPT({암호화 할 값},{암호화 키})) #BASE64로 인코딩 HEX(AES_ENCRYPT({암호화 할 값},{암호화 키})) #hexadecimal string으로 인코딩 #EXAMPLE UPDATE MEMBER SET MEM_NAME_ENC = TO_BASE64(AES_ENCRYPT(MEM_NAME,'testkey123')); 복호화 & 디코딩 #디코딩 FRO.. 2021. 7. 1.
[mysql] windows 'mysql'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. /mysql 환경 변수 설정하기 [mysql] windows 'mysql'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. / mysql 환경 변수 설정하기 mysql server 설치 후 cmd 창에서 mysql에 접근하려고 했을 때 위와 같은 오류가 발생한다면 환경변수가 제대로 설정되지 않은 것이다. mysql이 위치한 디렉토리를 PATH에 추가 해주면 간단하게 해결할 수 있다, installer를 통해 설치한 경우는 위 처럼 설치 경로를 확인할 수 있다. 디렉토리를 다르게 지정하지 않았다면 보통 C:\Program Files\MySQL\MySQL Server 8.0 위치에 설치된다. 시스템속성 - 고급 - PATH - 편집에 들어가서 C:\Program Files\MySQL\MySQL Serv.. 2021. 4. 8.
[mysql] 행 번호 rownum 출력하기(역순, join table) 게시판의 글들을 최신순으로 출력하는데 글번호나 순서를 매기고 싶을 때 즉, 쿼리를 실행하고 정렬한 결과에 순서를 주는 경우 임의의 변수(ROWNUM)를 선언하여 이를 수행할 수 있다. 1. 행번호 출력하기 SELECT @ROWNUM:=@ROWNUM+1 AS ROWNUM , * FROM ( SELECT @ROWNUM := 0) R , POST P WHERE P.CONTENT LIKE CONCAT('%','내용무','%') ORDER BY REG_DATE DESC; mysql 에서 @는 변수를 의미한다. 쿼리에서 행 번호를 출력하기 위해 FROM 절에서 ROWNUM이라는 변수를 선언하고 SELECT 절에서 변수를 1씩 증가시켜서 출력한다. 2. 행번호 역순으로 출력하기 SELECT * FROM ( SELEC.. 2020. 12. 24.