스프링 부트 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 |