반응형

db 4

UTF-8과 UTF-8MB4의 차이점

다국어 환경에서 문자 데이터를 저장하고 처리해야 할 때, 문자 인코딩은 중요한 고려사항입니다. 이번 글에서는 가장 널리 사용되는 UTF-8과 UTF-8MB4 인코딩에 대해 자세히 알아보고, 두 인코딩의 차이점과 올바른 선택 방법에 대해 알아보겠습니다. UTF-8 인코딩 UTF-8은 가장 보편적으로 사용되는 문자 인코딩입니다. 1~4바이트의 가변 길이를 가지며, 기본적으로 유니코드 코드 포인트를 나타내는데 사용됩니다. ASCII 문자는 1바이트로 표현되며, 다른 유니코드 문자는 2~4바이트로 표현됩니다. MySQL의 utf8mb3 캐릭터 셋은 사실상 UTF-8을 지칭하지만, 실제로는 UTF-8의 3바이트까지만 지원합니다. UTF-8MB4 인코딩 UTF-8MB4는 UTF-8의 확장 버전으로, 모든 유니코드 ..

개발/db 2023.05.25

QueryDsl SpringBoot JPA 레포지토리 만들기

querydsl은 JPA 쿼리를 동적 코드로써 작성할 수 있도록 도와주는 ORM 프레임워크입니다. JPA에서 기본적으로 JPQL을 사용하여 레포지토리를 정의할 수 있습니다. @Repository public class ProductRepositoryImpl implements ProductRepository { @PersistenceContext private EntityManager entityManager; @Override public List findByName(String name) { String jpql = "SELECT p FROM Product p WHERE p.name = :name"; return entityManager.createQuery(jpql, Product.class) .s..

개발/java 2023.05.19

JPA 데이터 소스 여러개 적용하기

JPA에 데이터 소스를 여러개 적용하여 DB를 2개 이상 연결할 수 있습니다. 우선 설정 클래스 정의가 필요 합니다. 메인으로 사용하는 Primay 데이터 소스를 설정 한 후 그 외 데이터 소스들을 지정해 주도록 합시다. @Primay 어노테이션으로 메인 설정이 가능합니다. @Configuration @EnableTransactionManagement @EnableJpaRepositories( entityManagerFactoryRef = "firstEntityManagerFactory", transactionManagerRef = "firstTransactionManager", basePackages = { "com.hanainu.test.repository.first" } ) public class ..

개발/java 2023.05.18

MongoDB database.collection is not a function 에러 해결 방법

구글링 해보니 스택오버플로우에 다음과 같이 몽고 디비 2.0 대에서 3.0으로 바뀌면서 드라이버 설정 하는 법이 변경되어서 발생하는 것 같다. 몽고 디비 2.0에서는 MongoClient.connect('mongodb://localhost:27017/mytestingdb', (err, db) => { // Database returned }); 이런 식으로 사용할 DB를 명시해서 사용했었는데 몽고 디비 3.0에서는 MongoClient.connect('mongodb://localhost:27017', (err, client) => { // Client returned var db = client.db('mytestingdb'); }); 이런 식으로 바뀐 모양이다. The close() method has..

개발/db 2023.05.02
반응형