스프링 부트 DATA_JPA ( My SQL )

 

 

Memo 클래스 ( @Entity ) 

package org.zerock.ex2.entity;

import lombok.*;

import javax.persistence.*;

@Entity
@Table(name = "tb1_memo")
@ToString
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Memo {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long mno;

    @Column(length = 200, nullable = false)
    private String memoText;
}

 

 

 

application.properties

#server.port=9797

spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp

# mysql 설정
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/spring5fs?serverTimezone=UTC&characterEncoding=UTF-8

spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/spring5fs?serverTimezone=Asia/Seoul&characterEncoding=UTF-8

# 로그인
spring.datasource.username=spring5
spring.datasource.password=spring5

spring.messages.basename=message
spring.messages.encoding=UTF-8

spring.mvc.pathmatch.matching-strategy=ant_path_matcher

spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.show-sql=true

 

 

build.gradle

plugins {
    id 'java'
    id 'war'
    id 'org.springframework.boot' version '2.7.15'
    id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

group = 'org.zerock'
version = '0.0.1-SNAPSHOT'

java {
    sourceCompatibility = '11'
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    annotationProcessor 'org.projectlombok:lombok'
    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'

//  jdbc 연결 관련
    implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.33'

//  jdbc log 관련
    implementation('org.slf4j:jcl-over-slf4j')
    implementation('ch.qos.logback:logback-classic')
    implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4:1.16'

//  JSP, Jstl 관련
    implementation 'javax.servlet:jstl'
    implementation "org.apache.tomcat.embed:tomcat-embed-jasper"

}

tasks.named('test') {
    useJUnitPlatform()
}

 

 

 

 

 

 

MemoRepository 인터페이스 

package org.zerock.ex2;

import org.springframework.data.jpa.repository.JpaRepository;
import org.zerock.ex2.entity.Memo;

public interface MemoRepository extends JpaRepository<Memo, Long> {



}

 

 

Test DB에 값 넣기 

package org.zerock.ex2;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.zerock.ex2.entity.Memo;

import java.util.stream.IntStream;

@SpringBootTest
class Ex2ApplicationTests {

    @Autowired
    MemoRepository memoRepository;

    @Test
    void contextLoads() {
    }

    @Test
    public void testClass(){

        System.out.println(memoRepository.getClass().getName());

    }

    @Test
    public void testInsertDummies(){

        IntStream.rangeClosed(1,10).forEach(i -> {
            Memo memo = Memo.builder().memoText("Sample..." + i).build();
            memoRepository.save(memo);
        });
    }

    @Test
    public void testSelect(){
//        System.out.println(memoRepository.findAll());
//        Long mno = 10L;


    }


}

 

 

 

 

'프로젝트 기반 자바(JAVA) 응용 SW개발자 취업과정' 카테고리의 다른 글

2023-09-14 83일차  (0) 2023.09.14
2023-09-13 82일차  (0) 2023.09.13
2023-09-11 80일차  (0) 2023.09.11
2023-09-08 79일차  (0) 2023.09.08
2023-09-07 78일차  (0) 2023.09.07

+ Recent posts