본문 바로가기
반응형

mysql7

java - mybatis 사용 (no spring) 검색하다 보면 mybatis 사용하는 예제들은 다 spring에 붙여서 쓰던데,이번에 나는 executable jar로 말아서 사용했어야 해서 (배치작업용)그것에 대해 작성해보려고 한다.lib 폴더에 jar 파일 가져다 놓고 import 하기db 정보, mybatis 설정, mapper 설정하기이제 사용하기순으로 정리 된다. 필요한 라이브러리를 jar를 받아준다.다른 건 필요 없고, 각 DB에 맞는 라이브러리 와 mybatis 라이브러리 두 개를 넣어준다.eclipse 기준으로 프로젝트 우클릭 → Build Path → Libraries → Add jars 해서 두 개의 라이브러리를 추가해 준다. properties를 설정해 준다.spring에 붙여서 쓸 때처럼 properties를 설정해줘야 하는데db.. 2024. 5. 30.
검색 자동완성 with mysql function 블로그 다른 글에서 검색창에서 자동완성을 위한 자료구조를 쓴 적이 있다. trie라는 자료구조를 이용해 단어를 쪼개고(자음까지) tree로 연결연결 시켜서 자동완성을 구현했었더랬다. 브랜드 이름 검색어 자동완성 with Trie 브랜드 이름 검색어 자동완성 with Trie 인터넷을 돌아다니다 글을 하나 보게 됐다. 카테고리 자동완성 개발기 카테고리 자동완성 개발기 안녕하세요. 29CM 발견스쿼드에서 백엔드개발을 담당하고 있는 이동권입니다. 검색페이지에서 hoonzi-text.tistory.com 그치만 이번에 프로젝트하면서 또 다른 방법으로 구현하는 선임을 보면서 해당 방법을 한번 정리해보고자 한다. 네이버 주식을 보면 검색할 수 있는 부분이 있고, 종목코드, 종목명, 종목명의초성, 종목명+초성으로 검.. 2024. 4. 7.
mysql order by equal? mysql order by column 시 column value가 같을 경우, sort 순서는 보장되지 않는다. (결과값이 달라질 수 있다.) 왜? 쉽게 생각해서 table에 저장된 row순으로 출력 되지 않을까 싶은데, 실제로는 table의 row는 disk에 순서대로 저장되지 않고, insert, delete, update 를 거치면서 물리적으로 저장된 순서가 바뀔 수 있고, 그것보다는 order by 사용시 index를 사용하지 못하는 경우, filesort 알고리즘을 이용하게 되는데 해당 알고리즘은 정렬 수행 시 메모리에 임시 테이블을 만들거나, 너무 커서 메모리에 저장 못하면, 메모리가 아닌 디스크에 쓴 뒤 (일부 sort → merge) 반복 동작이 수행되는데, merge 작업 시 순서가 보.. 2023. 12. 5.
FK-FK table springboot @ID 매핑 토이 프로젝트 만들다가 막혀서 비슷하게 한번 만들어본 상황. 요구사항 사용자가 메뉴를 보고 주문을 한다. 메뉴들이 여러 개 있고, 주문 내용에는 메뉴”들” 정보와 요구사항이 포함되어 있을 때 테이블로 위 요구사항을 저장하려면? 뭐… 정답은 없겠지만 내가 구성한 건 아래와 같다. orderInfo 테이블은 주문정보를 저장하는 테이블이다. 사용자의 요구사항을 저장하는 orderDesc 컬럼과 등록시각을 저장하는 regDate 컬럼이 존재한다. item 테이블은 메뉴 정보를 저장하는 테이블이다. 메뉴 이름을 저장하는 name 컬럼과 가격을 저장하는 price 컬럼, 등록시각을 저장하는 regDate컬럼이 존재한다. orderItem은 주문 정보에 포함되는 메뉴들을 저장하는 테이블이다. 주문 정보는 여러 개 저.. 2023. 6. 21.
spring boot 로그인 (+spring security, mysql) springSecurity 사용 pom.xml 에 아래와 같이 security 설정 추가 org.springframework.boot spring-boot-starter-security {프로젝트이름} Application.java 가 존재하는 폴더에 config folder 생성 + securityConfig.java 생성 demo.config.SecurityConfig에 기본적인 코드 추가 @Configuration public class SecurityConfig{ @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf().disable() .cors().disable() .authoriz.. 2023. 5. 28.
멀티컬럼 PK는 왜? 어느 날, 친구에게 이런 카톡을 받았다. 이런 상황에서는 학생_수업 테이블에는 PK(primary key)를 만들어야 하는가에 대한 질문이었다. 나는 항상 테이블을 만들 때 PK를 기본으로 만들고 시작했었는데 (생각 없이) 생각해보자니 저 상황일 때도 만들어야 하는가? 에 대한 고찰 없이 무지성으로 만들었었다. 그럼 질문이 생긴다. PK는 모든 테이블에 꼭 필요한가? 학생-수업 테이블에서 FK 두 개를 묶어서 PK로 만들어 사용해도 되는가? PK를 구글링 해보면 잘 정리된 블로그가 많으니 해당 블로그를 통해 자세히 살펴보면 좋을 것이다. 위키 백과의 PK에 대한 설명 부분을 가져왔다. 테이블에서 정보 값(각 행)을 식별하기 위해 만들어진 null값이 허용되지 않고 중복이 허용되지 않는 키라고 볼 수 있다.. 2022. 8. 6.
ㅇㅎ 게시물 수집하기 (fastapi, APScheduler, MySql) 개요 나는 커뮤니티를 자주 본다. 커뮤니티를 보다보면 게시물들 사이로 간간히 “ㅇㅎ” 라는 키워드가 붙은 게시물을 마주하게 되는데 “약한 후방주의” 라는 말의 줄임말이다. 후방 주의란? 남자들이 주로 접속하는 사이트들에는 하루에 적어도 하나씩 꼭 올라온다. 간간히 보이는 게시물은 보일때마다 무지성으로 클릭하게 되는데, 어느날 이런생각이 들었다. 하나로 모아서 보면 안될까? 좋은 생각이 떠오르면 그건 이미 누가 했다고 하던가... 이미 그런 사이트가 있었다. 모두의 후방 모두의 후방 모두의 후방 data.pureugong.com 하지만 나도 하나쯤은 만들어 보고 싶었다. 그래서 해당 사이트의 About 탭을 들어가 tech stack을 살펴본다. 오호 저런 기술로 구현하셨군... 하고 위로 좀만 올라가니 .. 2022. 5. 5.
반응형