목록백엔드 (52)
wintertreey 님의 블로그
테이블 하나 만들어주고create table userinfo(userid varchar(10) primary key,password varchar(10) not null,name varchar(10) not null,email varchar(30)); 작업을 위해 값 넣어주기. insert into userinfo values('admin','admin','관리자','admin@admin.co.kr');insert into userinfo values('korea','kor','책임자','korea@admin.co.kr'); 폴더들을 보며 틀을 잡아보자. 폴더별 구분파일의 용도VIEWwebapp내html파일사용자가 값을 입력 VIEW WEB-INF내 jsp파일사용자에게 결과물 출력 Control..
핵심로직 먼저 후다닥 작성하자. AritcleInter.javapackage pack;public interface ArticleInter { void selectAll();}ArticleDao.javapackage pack;public class ArticleDao implements ArticleInter { @Override public void selectAll() { System.out.println("테이블 자료 읽기"); }} LogicInter.javapackage pack;public interface LogicInter { void selectDataProcess1(); void selectDataProcess2();} LogicImpl.javapackage pack;public cl..
"" (문자열 리터럴)과 {} (중괄호) input type="text" value="0" readOnly>input> 문자열 리터럴 "": value="0"은 입력 필드의 값을 "0"으로 설정.값이 하드코딩됨: 이 경우, value 속성은 항상 문자열 "0"을 가진다. React 상태나 props에 의존하지 않으며, 이 값은 고정되어 있다.만약 value={}로 적는다면중괄호 {}: {}를 사용하면 JavaScript 표현식을 JSX 내에서 평가하게된다. 예를들어 value={this.props.number}는 this.props.number라는 JavaScript 표현식을 평가하여 value 속성에 설정해준다.동적 값: value 속성에 설정된 값이 컴포넌트의 상태나 props에 따라 동적으로 변할..
db작업create table springboard( num int primary key, author varchar(10) not null, title varchar(30) not null, content text, bwrite datetime default now(), readcnt int default 0); 프로젝트 생성 프로젝트 세팅application.propertiesspring.application.name=sprweb17mybatis_miniboardserver.port=80spring.thymeleaf.cache=false#mariadb server connectspring.datasource.driver-class-name=org.mariadb.jdbc.Driverspring.d..
세팅작업 properties build 체크. build 고쳤을경우 build> refresh 필! package pack.model;import jakarta.persistence.Column;import jakarta.persistence.Entity;import jakarta.persistence.Id;import jakarta.persistence.Table;import lombok.Data;@Data@Entity@Table(name="sangdata")public class Sangpum { @Id private int code; @Column(nullable = false) private String sang; private int su; private int dan; // 변수 ff..
프로젝트 생성시 dependencies 세팅 이번엔 Spring Data JPA를 추가해주었다. 테이블 만들기 application.properties# JPA Hibernate settingspring.jpa.hibernate.ddl-auto=update기존에없던 테이블을 새로만들어줄때 적는 세팅코드. update는 기존유지. create하면 기존테이블을 drop하고 새로만듦. ProductVo.javapackage pack.model;import jakarta.persistence.Column;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationTy..
스프링 데이터 JPA : CrudRepositorySpring Data JDBC 라이브러리는 CrudRepository 인터페이스를 제공한다.CrudRepository는 스프링 데이터 JPA에서 제공하는 기본 CRUD (Create, Read, Update, Delete) 작업을 처리하기 위한 인터페이스이다. CrudRepository는 엔티티 객체의 기본적인 데이터 조작을 간단하게 수행할 수 있도록 설계되어 있다. 다음은 CrudRepository의 주요 메소드 질문 : CrudRepository는 인터페이스인데, 예를 들어 count() 추상 메소드의 경우 count에 대한 재정의를 한 적이 없는데 어떻게 결과가 나오는 걸까? CrudRepository는 스프링 데이터 JPA에서 기본 CRUD 작..
JdbcDaoSupport를 이용해 db연동 Constructor Injection. why? 이건 (가상의) 필드주입 코드.@Repositorypublic class DataDao extends JdbcDaoSupport { @Autowired private DataSource dataSource; 생성자 주입의 가장 큰 장점이 불변성을 보장한다는점이다. 생성자주입은 객체 생성 시점에 의존성을 주입하므로, "DataSource"와 같은 의존성을 final로 선언할 수 있다. 이로인해 객체의 상태를 보장할 수 있게 된다. 그 이외에도 테스트용이성, 명확한 의존성 명세등의 장점이 있다. 필드 주입의 경우 다음과 같은 문제점이 발생할 수 있다. Testability: 필드 주입은 DataSou..