작성
·
611
·
수정됨
0
의존성 추가 및 yml 파일에 설정까지 연결을 하란데로 다 했습니다..
다 잘돌아가는데 데이터만 안들어갑니다..ㅜㅜ 이유가 뭘까요??
bulid.gradle 부분
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.12'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'carrot'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
repositories {
mavenCentral()
}
dependencies {
//implementation 'mysql:mysql-connector-java'
runtimeOnly 'mysql:mysql-connector-java:8.0.25'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation group: 'org.mybatis', name: 'mybatis-typehandlers-jsr310', version: '1.0.2'
implementation group: 'org.mybatis', name: 'mybatis-spring', version: '2.0.6'
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' /* Log4JDBC */
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
//runtimeOnly 'com.mysql:mysql-connector-j'
//implementation 'org.springframework.boot:spring-boot-starter-actuator'
}
tasks.named('test') {
useJUnitPlatform()
}
application.yml 부분
spring:
datasource:
hikari:
username: admin
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
jdbc-url: jdbc:log4jdbc:mysql://plong.cox1oouznzgl.ap-southeast-2.rds.amazonaws.com:3306/plong_db?serverTimezone=Asia/Seoul&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
connection-test-query: SELECT NOW() FROM account
password: #개인정보라 지우겠음
mybatis:
configuration:
underscore-to-camel-case: true
화면도 잘 나오고 정보 입력도 다 해서 가입완료까지 잘 됩니다.
이러고 mysql 들어가보면 데이터가 안들어와있어요!
방법이 있을까요??
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
이 문제의 경우 데이터베이스 연결 설정이나 코드 문제일 가능성이 있습니다. 일단 아래 몇 가지 사항을 확인해 보실 수 있을 것 같아요.
데이터베이스 접속 정보 확인하기
yml 파일에 설정하신 데이터베이스 접속 정보가 정확한지 확인해주세요. 데이터베이스 URL, username, password가 모두 맞게 입력되었는지 확인해주세요.
DB에 저장될 테이블의 설정이 정확한지 확인하기
DB에 저장될 테이블의 컬럼들을 정확히 정의하셨는지 확인해보세요. 예를 들어, String 타입의 값을 저장할 수 있는 컬럼에 int값을 저장하려 할 경우 오류가 발생할 수 있습니다.
로그 확인하기
로거를 이용하여 디버깅을 진행해보세요. 스프링부트에서는 log4jdbc를 이용하여 JDBC 로그를 기록할 수 있습니다. 로그를 확인하여, 어떤 과정에서 오류가 발생하는지 확인해볼 수 있습니다.
위의 내용들을 확인해보신 후에도 문제가 해결되지 않는다면, 코드와 에러 메시지를 더 자세하게 공유해주시면 더욱 도움이 될 것 같아요.
1번은 정확한것 같고요. 2번도 문제 없는 것 같습니다. 3번은 어떻게 해야할지 모르겠습니다..