본문 바로가기

SQL15

[MyBatis] #{} 와 ${} 의 차이 MyBatis Framework 를 사용하여 개발을 하다가 문득, 이런 생각을 했다. " 다른 사람들 코드를 보면 ${} 로도 하던데, 내가 쓰는 #{} 와 무슨 차이가 있을까? " 결론만 말하자면, #{} 는 String 을 표현해준다. 즉, 앞 뒤로 홀따옴표(') 를 붙여준다 :) INSERT INTO user ( id, name ) VALUES ( #{id}, #{name} ) --> VALUES ('homeju1', '홈주') 반면, ${} 는 있는 그대로를 표현해준다. 그렇기 때문에 숫자형을 사용할 때 좋다 :) INSERT INTO user ( id, age ) VALUES ( #{id}, ${age} ) --> VALUES ('homeju1', 26) 2020. 4. 2.
[MySQL] localhost root 비밀번호 까먹었을 때 (mac) MySQL 워크벤치에서 localhost DB 에 붙으려고 Connection 생성하는데 연결이 안된다 ㅠ.ㅠ 로컬에 MySQL 을 설치할 때 root 계정의 비밀번호를 뭐라고 설정했는지 까먹음... 😓 그럴 땐 이렇게 하자, (물론 사전에 mysql 이 실행 중 이라면 stop 시켜줘야 한다!) # STEP1. 터미널을 띄워 안전모드로 mysql 에 접속한다. (= root 계정으로 비밀번호 없이 접속이 가능하다.) $ sudo mysqld_safe --skip-grant-tables # STEP2. mysql 에 접속한다. $ mysql -u root # STEP3. 비밀번호를 변경해준다. mysql> UPDATE mysql.user SET authentication_string=PASSWORD("설.. 2020. 3. 2.
[MySQL] 대용량 text 파일(.txt) DB 에 업데이트 하는 방법 (feat.행안부) 이번엔 text 파일을 DB 에 업데이트 하는 방법에 대해 알아보자! 정확히는 그 방법에 대해서 공유하고자 하는 게 아니라, 시도하면서 겪은 에러케이스를 공유하고자 포스팅 한다.. (역시 또 에러) 우선 검색하면 나오겠지만, MySQL 에서 대용량 데이터를 insert 하는 방법은 파일을 파싱하여 아래와 같이 'LOAD DATA~' 명령어로 하는 방법이 제일 나은 것 같다. LOAD DATA [LOCAL] INFILE ${파일위치} INTO TABLE ${테이블명} CHARACTER SET utf8 FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' 자세한 문서는 공홈 참고 > https://dev.mysql.com/doc/refman/8.0/en/load-data... 2020. 1. 20.
[MyBatis] SqlSessionFactoryBean 속성 정리 내가 매번 헷갈려서 쓰는 게시물. Spring + MyBatis 를 사용하면, DataSource 과 SqlSessionFactory 를 정의해서 빈으로 주입시켜줘야하는데, 그 중 SqlSessionFactoryBean 에서 크게 사용하는 3가지 속성에 대해서 정리하고자 한다. 1. typeAliasesPackage : Aliases 에 해당하는 클래스를 스캔하기 위한 패키지 경로를 지정 (별칭 쓸 클래스 패키지 위치 = 주로 DAO) -> com.example.demo.dao 2. configLocation : mybatis 설정파일이 위치한 경로를 지정 (주로 mybatis-config.xml 위치) -> mybatis-config.xml 또는 classpath:/mybatis-config.xml (.. 2020. 1. 8.
unsigned 사용하는 이유 DB Table 생성시 PK 값이 될 컬럼에 unsigned 를 지정하는 일이 있어서 찾아봤다. 와 같이 값의 범위에서 음수는 제외되고 그 범위만큼 양수가 늘어난다.시퀀스, 인덱스처럼 0부터 순차적으로 늘어나는 컬럼이라면 unsigned 를 활용하면 좋을 것 같다. 2018. 10. 29.
마지막에 추가한 데이터의 index 가져오는 방법 마지막 insert 한 row의 index 가져오는 방법메인프로젝트를 진행하면서 방금 추가한 댓글의 고유넘버를 가져와야 할 때 되게 간편하고 효과적이었다.* MyBatis 의 버전이 2.x 버전에서 3.x 버전으로 변경되면서 사용하는 방법이 다르니 참고* MySQL 과 MyBatis 사용 참고 1. 2.x 버전 => 태그와 keyProperty 활용123456789 SELECT LAST_INSERT_ID() INSERT INTO COMMENT (user_id, board_no, comm_time, comm_content) VALUES ( #{user.userId}, #{boardNo}, NOW(), #{commentContent} )Colored by Color Scriptercs3. 3.x 버전 => .. 2018. 7. 19.