목록IT (85)
잘 정리해보자
기본 spring boot 실행하면, SQL로그는 따로 보이지 않기에, DB에 로그를 출력을 위해 설정을 잡는다. 1. gradle 에서는 build.gradle에 log4j2 설정을, maven은 pom.xml 에서 dependency 를 추가하고 refresh gradle/update maven 한다. build.gradle dependencies { ... implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' } 2. resource 파일 아래에 log4j2를 설정하는 properties 생성. log4jdbc.log4j2.properties log4jdbc.spylogdelegator.name=net.sf.log4jdbc.l..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bq1uRr/btrsrlXeUUx/WrfmYcyGlfktDWnVrkt6n0/img.png)
JPA(Java Persistence API) : 데이터에 접근하기위한 API 규격 (Java의 ORM이다.) ORM(Object Relational Mapping) : application(객체)와 DB관계를 연결해주는 것 Hibernate : JPA의 implements(구현체) 이다. java의 기본적인 jpa provider. Spring Data JPA : Spring에서 자주쓰는 Hibernate를 더 간편하게 사용할 수 있도록 추상객체를 한번 더 감싼 형태 spring boot, swagger3.0, gradle, mysql 환경에서 진행 swagger참고 : Spring Boot에 Swagger 적용 (3.0) 1. build.gradle 에서 spring boot로 jpa 설정을 도와주는..
mysqlump : 대상 테이블,데이터 전체를 다른환경의 DB로 옮길때나 데이터 백업 등 dump의 sql파일로 export/import 작업에 사용 cmd환경에서 작업 - mysqldump export 명령어 : mysqldump -h [접속host] -u[사용자명] -p -P [포트번호] [DB명] [테이블명] > "dump저장할 경로(로컬 경우 C:\/D:\부터 쓰기)" > mysqldump -h localhost -uroot -p -P 3306 testdb userinfo > "C:\testdump.sql" 아무런 옵션없이 수행하는 경우, 대상테이블인 "useinfo"의 정보와 데이터 모두 지정된 경로의 sql로 저장된다. - mysqldump import 명령어 : mysql -h [접속host..
발생 환경 : local에서 mysql zip파일로 수동설치 후 cmd에서 "mysql -u root -p" 명령어 실행 시, 발생 (root비밀번호도 잊어버린 상태) 해결 방법 : 1. my.ini 파일(my.cnf) 에서 [mysqld] 아래에 skip-grant-tables 를 추가 ... [mysqld] skip-grant-tables ... 2. mysql 재시작 (cmd에서 stop후 start 실행) > net stop mysql > net start mysql 3. mysql -u root -p 입력하고 패스워드 입력에 엔터를 누른다. > mysql -u root -p > #패스워드 입력 -> \n (엔터 입력) -> mysql 접속가능 4. mysql에서 root 패스워드 변경 mysql..
Spring Boot 처음 실행 시, 아래와 같은 에러 발생한다. 에러 메시지 : *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class 원인 : 스프링 부트 설정 시, Application.java 파일에서 @SpringBootApplication 이 선언되있는데, 이 어노테이션에서 DB 정보..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPutBH/btrrpUUjlQK/jbhwdtT2iLtwYkvppWbsRk/img.jpg)
csv파일 읽기에 이어 csv파일 쓰기를 구현. csv파일 읽기 : https://choisblog.tistory.com/82 FlatFileItemWriter : 파일을 쓰기/저장 하는 클래스 객체를 계속 실행하면 덮어쓰는 형식으로 저장이 된다. (기존의 파일을 삭제 후 같은이름으로 저장) - 저장할 csv파일의 필드명,구분자 설정 @Bean @StepScope public FlatFileItemWriter writer() throws Exception{ BeanWrapperFieldExtractor extractor = new BeanWrapperFieldExtractor(); extractor.setNames(new String[] {"id","name","address"}); //필드명 설정 //..
에러 메시지 : org.springframework.batch.item.WriterNotOpenException: Writer must be open before it can be written to 원인 : ItemWriter 구현시, csv파일을 write하는 작업에서 발생한 에러. @Bean 과 @StepScope으로 ItemWriter을 구현하고 FlatFileItemWriter로 리턴하는게 원인이었다. @Bean @StepScope public ItemWriter writer() throws Exception{ BeanWrapperFieldExtractor extractor = new BeanWrapperFieldExtractor(); ... DelimitedLineAggregator lineA..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c7coqX/btrrdX47wj7/KmWpuOW1ImSfiZkOXqNxdk/img.png)
FlatFileItemReader : 파일 읽을 수 있는 클래스 간단하게 아래와 같은 3개 필드로 구성된 csv파일을 읽는 테스트를 진행한다. (infotemp.csv) id name address 1 wow seoul 2 chois incheon 3 lee seoul 시작 전에 csv파일과 매핑될 vo를 정의한다. TestCsvFieldVo.java @Getter @Setter public class TestCsvFieldVo { private int id; private String name; private String address; public TestCsvFieldVo(int id, String name, String address) { this.id = id; this.name = name; ..