https://blog.naver.com/drv982/222914520048
기본 웹 브라우저 chrome으로 바꿈
LegacyProject 프로젝트 run on server 로 서버에 올리기
HomeController.java에서 실행
server - modules에서 path 수정
80000>800000으로 수정
모든 파일들 UTF-8로 설정하기
에서 설정 가능함
server 종료 후 다시 시작 함
에러가 아니고 INFO 즉 정보들이 나옴
기본으로 생성되어있는 HomeController 삭제 후
BookController 클래스 생성
컨트롤러로 사용하기 위해서
컨트롤러 선언을 해준다.
package com.demo.sample;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
// 요청을 받는 컨트롤러
@Controller
public class BookController {
//posMapping, RequestMapping 도 있음.
//localhost:8080/create 주소로 get 요청
@GetMapping("/create")
public String create() {
//요청 시 이 메소드 실행하고 아래 jsp 뷰 페이지 표시
return "book/create"; //WEB-INF/views/book/create.jsp
}
}
create.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>책 생성하기</h1>
<form method="POST">
<p>제목 : <input type="text" name="title" /></p>
<p>카테고리 : <input type="text" name="category" /></p>
<p>가격 : <input type="text" name="price" /></p>
<p><input type="submit" value="저장" />
</form>
</body>
</html>
화면 출력 확인하기
MySQL DB생성하기
스키마 생성
Book 테이블 생성
CREATE TABLE IF NOT EXISTS Book (
book_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
category VARCHAR(200) NOT NULL DEFAULT '',
price INT NULL,
insert_date DATETIME NOT NULL DEFAULT NOW(),
PRIMARY KEY(book_id)
)
BIGINT 큰 정수
UNSIGNED 양수
book 테이블 생성 완료
스프링 프레임 워크에서는 자동으로 DB연결을 함
MyBatis
JDBC
log4jdbc : SQL LOG
MySQL 커넥터
pom.xml 에 아래의 내용 추가해야함
<!-- database -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.7.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
<!-- Test --> 아래에 추가
root-context.xml에서 db를 사용하기 위한 객체를 만들어야함
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Root Context: 웹 프로젝트에 필요한 객체들을 선언 -->
<!-- 데이터소스에 DB연결 정보를 입력 -->
<bean id="dataSource"
class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="com.mysql.cj.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/legacy?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="1234" />
</bean>
<!-- MyBatis sql세션팩토리 객체(데이터 소스 주입) 위의 datasource가 주입 됨 -->
<bean id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations"
value="classpath:/sqlmap/**/*_SQL.xml" />
</bean>
<!-- sql팩토리 주입하여 sql메서드 실행 객체 -->
<bean id="sqlSessionTemplate"
class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
</beans>
<property name="mapperLocations"
value="classpath:/sqlmap/**/*_SQL.xml" />
** = 하위 폴더까지 포함해서 SQL.xml로 끝나는 파일들을 다 가져옴
'BACKEND > Spring' 카테고리의 다른 글
DB연결 - 책 상세 보기 (SELECT) (0) | 2023.10.19 |
---|---|
DB연결 - 책 입력 기능(INSERT) (0) | 2023.10.19 |
레거시 프로그램 설치 및 기본 설정 (0) | 2023.10.19 |
DI - 자동 주입 (1) | 2023.10.19 |
DI 생성자 주입 (1) | 2023.10.18 |