[스프링부트]Spring Web MVC예제,마리아DB EMP 테이블의 내용을 Spring Boot, Spring MVC, Spring JDBC를 이용하여 간단히 출력해보자. - 스프링실무교육학원
<!--[if !supportLists]-->n <!--[endif]-->
STS에서
File -> New -> Project -> Spring Starter Project
Name : mvc1
Package : jdbc
다음화면에서 SQL : JDBC, MySQL, Web : Web 선택
[pom.xml에 JSP 사용위한 의존성 추가]
<!-- JSP, JSTL 사용위해 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
[src/main/resources/schema.sql(파일 속성에서 text encoding을 UTF-8로)]
drop database if exists mvc1;
create database mvc1;
use mvc1;
create table emp
(
empno int(4) not null auto_increment,
ename varchar(50),
sal int(4),
primary key (empno)
) ENGINE=InnoDB;
[src/main/resources/data.sql(파일 속성에서 text encoding을 UTF-8로)]
insert into emp(ename, sal) values ('1길동', 1000);
insert into emp(ename, sal) values ('2길동', 2000);
insert into emp(ename, sal) values ('3길동', 3000);
[src/main/resources/application.properties]
spring.datasource.platform=mysql
spring.datasource.url=jdbc:mysql://localhost/mvc1?createDatabaseIfNotExist=true
spring.datasource.username=root
spring.datasource.password=1111
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.sql-script-encoding=UTF-8
spring.datasource.validation-query=select 1
#커넥션풀에서 커넥션을 가져올 경우 커넥션이 유효한지 검사
spring.datasource.test-on-borrow=true
#view
spring.mvc.view.prefix=/views/
spring.mvc.view.suffix=.jsp
[뷰 역할을 하는 /src/main/webapp/views/emp.jsp]
</html>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title></title>
</head>
<body>
<H3>EMP 테이블 목록</H3>
<h5>총 ${emps.size()}건</h5>
<table border="1">
<tr align="left">
<th width="100" align="center">사번</th>
<th width="200" align="center">이름</th>
<th width="100" align="center">급여</th>
</tr>
<c:forEach var="emp" items="${emps}">
<tr>
<td align="center">${emp.empno}</td>
<td align="center">${emp.ename}</td>
<td align="center">${emp.sal}</td>
</tr>
</c:forEach>
</table>
</body>
[모델클래스 Emp.java]
package jdbc.model;
public class Emp {
private Long empno;
private String ename;
private Long sal;
public Long getEmpno() {
return empno;
}
public void setEmpno(Long empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public Long getSal() {
return sal;
}
public void setSal(Long sal) {
this.sal = sal;
}
}
[DAO클래스 EmpDAO.java]
package jdbc.repository;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import jdbc.model.Emp;
@Repository
public class EmpDAO {
@Autowired
private JdbcTemplate jdbcTemplate;
// EMP 테이블 전체 데이터 SELECT
public List<Emp> geEmpAll() throws DataAccessException {
List<Emp> empList = null;
String sql = " select empno, ename, sal from emp ";
empList = this.jdbcTemplate.query(sql, new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
Emp emp = new Emp();
emp.setEmpno(rs.getLong("empno"));
emp.setEname(rs.getString("ename"));
emp.setSal(rs.getLong("sal"));
return emp;
}
});
return empList;
}
}
[Service 클래스 EmpService.java]
package jdbc.service;
import java.util.List;
import jdbc.model.Emp;
import jdbc.repository.EmpDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class EmpService {
@Autowired
private EmpDAO dao;
public List<Emp> getEmpAll() {
return dao.geEmpAll();
}
}
[컨트롤러 클래스 EmpController.java]
package jdbc.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import jdbc.service.EmpService;
@Controller
@RequestMapping("emp")
public class EmpController {
@Autowired
private EmpService empService;
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Model model) {
model.addAttribute("emps", empService.getEmpAll());
return "emp";
}
}
[실행]
댓글 없음:
댓글 쓰기