일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Spring Batch
- java
- Gradle
- JVM
- MySQL
- 맛집
- jenkins
- php
- Spring
- it
- Git
- ReactJS
- redis
- 요리
- AWS
- Oracle
- IntelliJ
- devops
- db
- elasticsearch
- springboot
- jsp
- ubuntu
- linux
- Design Patterns
- tool
- laravel
- javascript
- Web Server
- Spring Boot
- Today
- Total
목록Java & Kotlin (250)
아무거나
개발을 하던 도중에 다량의 데이터를 한번에 update 할 시에는 무척 오래걸려서 db옵션을 수정하는 등 조치를 취하는 경우가 있다. 그래서 단 건(ex: 10000 건) 정도로 여러번 업데이트 하는 방법으로 로직을 변경하였고 while문을 이용하여 change개수가 0일 경우에는 break로 빠져나오게끔 만들었다. 그러나 mybatis에서 change개수가 계속 0으로만 return되는 문제가 발생하였다. 확인해보니 설정파일 즉, db접속 url parameter에 아래와 같이 추가하자. jdbc:mysql://127.0.0.1:3306/test_db?useSSL=false&characterEncoding=utf8&useAffectedRows=true 위의 useAffectedRows=true 로 옵션..
스프링 부트에서 테스트 코드를 작성할 때 간단하게 기술한것이다. // 버전: 2.0.6 testCompile('org.springframework.boot:spring-boot-starter-test') import com.wmp.admin.category.entity.VendorCategoryMap; import com.wmp.admin.category.mapper.CategoryMapMapper; import com.wmp.admin.category.mapper.CategoryMapRequireMapper; import java.time.LocalDateTime; import org.junit.Test; import org.junit.runner.RunWith; import org.springfram..
Mybatis 작업도중에 Invalid bound statement (not found) 에러가 발생했을때를 알아보자.자주 실수하여 발생하는 문제는 아래와 같다 - Mapper Interface와 Mapping되는 .xml 파일에 오타가 있을 경우(ex: Mapper Interface에 선언한 메서드명과 .xml에 매핑하는 id값과 일치하지 않을 때)- classpath에 경로가 잘못될 경우 [ex]mybatis: mapper-locations: classpath:mapper/**/*.xml 보통 개발을 하면서 자주하는 실수들이므로 주의해서 작성하자.
Client(=User) -> Web Server -> API Server 로 구성되어 있는 하나의 시스템에서 서버 설정에 따라 크로스 도메인 이슈가 발생하곤 한다. 그래서 java 소스상에 @Configuration을 선언하고 WebMvcConfigurerAdapter를 상속받아 오버라이딩하여 메소드를 작성하면 해당 이슈는 해결된다. import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import..
이미지를 리사이징하여 저장하는 실습을 해보자. 1. 이미지를 프로젝트 최상위 경로에 저장 ( 해당 경로는 임의로 지정하셔도 됩니다. ) 2. 코드를 작성한다. import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class Main { private final static String IMG_ORIGINAL_NAME = "testtest.jpeg"; // 원본 이미지 파일명 private final static String IMG_TARGET_NAME =..
해당 포스트는 Spring Boot와 VueJS를 연동하는 과정을 작성했다. 1. Gradle에 Thymeleaf 설정dependencies { compile('org.springframework.boot:spring-boot-starter-thymeleaf') compile('org.springframework.boot:spring-boot-starter-web') .... } 2. src/main/resources/application.yml 설정 ( thymeleaf의 경우 html5 모드가 기본으로 설정되어 있어 아래의 설정을 추가해주어야 meta tag로 인한 에러가 발생하지 않는다. )spring: profiles: local .... thymeleaf: cache: false mode: LE..
보통 프로젝트는 클라이언트(=사용자)에서 접근하는 서버, DB와의 접근하는 서버 등. 각 모듈별로 구분하여 구성하게 된다. 이럴 때 예를 들어 회원관련 클래스가 있다고하자. 그 클래스는 서로 다른 모듈에서 공통으로 쓰고있다고하면 수정이 있을때마다 각각 변경을 해줘야되며 그로인하여 실수할 여지가 많아진다. 이런 번거로움을 조금이라도 덜어내기 위하여 멀티 프로젝트를 구성하고자 한다. 구성은 아래와 같다.admin-web : 웹 페이지 서버admin-api : api 서버admin-common : 공통 클래스 모듈 [ IntelliJ ] 1. File -> New -> New Project -> Gradle 선택 -> JAVA 선택 후 Next -> 필요정보 입력 후 Next # groupId: com.bkj..
데이터를 저장할 때 @OneToOne, @OneToMany.. 등의 annotation이 선언되어 있을 경우에는 매핑된 id값이 0이거나 매핑되어있는 id의 자식객체가 없을 때 오류가 발생하는 경우가 있다. 이 경우 매핑되는 애들이 없을 때 값을 null 처리를 하게되면 문제없이 조회를 할 수 있다. 즉, 매핑 id 값을 null로 처리하자.
@OneToOne이나 @OneToMany .. 등의 외래키 관계의 데이터를 삭제할 경우에 Foreign key가 지정되어있는 경우 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails ...... FOREIGN KEY .... 라는 에러를 출력한다. 해결방법은 만약 entity의 annotation이 @OneToMany이라고 하면 해당 annotation에 cascade 설정을 추가한다.@OneToMany(fetch = FetchType.LAZY, cascade = CascadeTy..
Linux 설치(Ubuntu 14.04 기준) 1. 자바를 설치한다. ( 다른 버전을 설치하려면 아래 숫자 8만 변경하여 설치 ex : openjdk-8-jdk -> openjdk-9-jdk ) sudo apt-get install openjdk-8-jdk; * 만약, Package 'openjdk-8-jdk' has no installation candidate 라는 에러가 나올경우 아래와 같이 설치한다. sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jre 2. 자바 환경변수 설정 JAVA_HOME에 환경변수 설정(시스템에 자바가 설치된 경로에 따라 다르기 때문에 본인 경로로 지정해..