1 ) WAR
: JSP로 진행
웹 전용
2 ) JAR
: HTML로 진행
JAVA 전용
<!-- JSTL 의존성 추가 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- JSP 컴파일을 위한 라이브러리 추가 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
## 웹서버 실행
spring.main.web-application-type=SERVLET
server.port=8888
## 데이터베이스 연동
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=system
spring.datasource.password=1234
## JSP 경로설정
spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp
package com.ruby;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@MapperScan(basePackages="com.ruby")
@EnableTransactionManagement
public class DatabaseConfig {
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource ) throws Exception {
SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
sqlSessionFactory.setDataSource(dataSource);
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactory.setMapperLocations(resolver.getResource("classpath:mapper/sample-Mapper.xml"));
return sqlSessionFactory.getObject();
}
@Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) throws Exception{
final SqlSessionTemplate sqlSessionTemplate = new SqlSessionTemplate(sqlSessionFactory);
return sqlSessionTemplate;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="sample-Mapper">
<select id="selectSchool" resultType="com.ruby.SchoolVO">
SELECT *
FROM SCHOOL0117
ORDER BY SNO ASC
</select>
<insert id="insertSchool">
INSERT INTO SCHOOL0117 (SNO, SNAME, EMAIL)
VALUES ( #{sno}, #{sname}, #{email} )
</insert>
<delete id="deleteSchool">
DELETE
FROM SCHOOL0117
WHERE SNO = #{sno}
</delete>
</mapper>
//테이블 만들기
CREATE TABLE SCHOOL0117(
SNO CHAR(3),
SNAME NVARCHAR2(20),
EMAIL VARCHAR2(50)
);
//데이터 넣기
INSERT INTO SCHOOL0117 VALUES('100', 'ji nie', 'jin@gmail.com' );
INSERT INTO SCHOOL0117 VALUES('200', 'ji hay', 'hay200@gmail.com' );
INSERT INTO SCHOOL0117 VALUES('300', 'kim', 'kim@gmail.com' );
INSERT INTO SCHOOL0117 VALUES('400', 'jun', 'jun400@gmail.com' );
INSERT INTO SCHOOL0117 VALUES('500', 'park', 'park@gmail.com' );
INSERT INTO SCHOOL0117 VALUES('600', 'lee', 'lee600@gmail.com' );
INSERT INTO SCHOOL0117 VALUES('700', 'young won', 'kwom700@gmail.com' );
// 값 확인하기
SELECT * FROM SCHOOL0117 ORDER BY SNO ASC;
package com.ruby;
import lombok.Data;
@Data
public class SchoolVO {
private String sno;
private String sname;
private String email;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div align="center">
<br><br>
<h2>스프링부트 MyBatis 연습 </h2>
<hr>
<br><br>
<a href=/form.do> 저장하기 </a> <p>
<br><br>
<a href=/select.do> 목록보기 </a> <p>
</div>
</body>
</html>
<%@ 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>
<div align="center">
<form action="/formOK.do" method="post">
<h1> 회 원 가 입 </h1>
<table border=1 height="160">
<tr>
<td>학번</td>
<td>
<input type=text name="sno" >
</td>
</tr>
<tr>
<td>이름 </td>
<td>
<input type=text name="sname" >
</td>
</tr>
<tr>
<td>메일 </td>
<td>
<input type=text name="email" >
</td>
</tr>
<tr>
<td colspan=2 align="center" >
<input type=submit value="회원가입">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<br>
<table border=1 width=800 align="center">
<tr><th>번호 </th><th> 이름 </th> <th> 이메일</th>
<c:forEach items="${schoolList}" var="board">
<!-- $로 시작하는 것은 EL표기법 / C: JSTL문법 -->
<tr>
<td> ${board.sno} </td>
<td> ${board.sname} </td>
<td><a href=/deleteSchool.do?sno=${board.sno}>${board.email}</a> </td>
</tr>
</c:forEach>
</table>
</body>
</html>