Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Javscript
- 랜덤넘버
- 자바스크립트
- GoogleMaps
- Android
- RecyclerView
- scrollview
- React
- fragment
- Java
- TextView
- 코틀린
- JavaScript
- npm
- 오버라이딩
- nodejs
- 리액트
- Hook
- TypeScript
- Linux
- array
- stylesheet
- 랜덤번호
- 안드로이드
- SpringBoot
- 구글맵스
- 스프링부트
- JS
- Kotlin
- button
Archives
- Today
- Total
타닥타닥 개발자의 일상
SQL 의 BD 불러와서 페이지랑 연결하기 (Spring Frame Work), 웹 페이지에 SQL 데이터 List, String 형태로 형변환하고 출력 본문
코딩 기록/Spring
SQL 의 BD 불러와서 페이지랑 연결하기 (Spring Frame Work), 웹 페이지에 SQL 데이터 List, String 형태로 형변환하고 출력
NomadHaven 2021. 12. 30. 00:04
<기본 설정>
Dynamic Web Project 로 파일생성.
Configure - Convert to Maven
log4j.xml, jdbc.properties, Member.xml, applicationContext.xml
servelt-context.xml, pom.xml 미리 설정
<index 구동시 보이는 페이지>
<SQL Developer에 입력한 테이블 자료>
<jdbc.properties>
#oracle setting
jdbc.driverClassName = oracle.jdbc.driver.OracleDriver
jdbc.url = jdbc:oracle:thin:@localhost:1521:xe
jdbc.username = hr
jdbc.password = hr
jdbc.initialSize = 5
jdbc.maxActive = 20
<index.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>
<%
response.sendRedirect("hello.do");
%>
</body>
</html>
<hello.JSP>
<%@page import="multi.camp.a.dto.MemberDto"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
List<MemberDto> list = (List<MemberDto>)request.getAttribute("list"); <!--getAttribute로 불러온 Object 배열객체 형태로 형변환-->
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>hello jsp</h1>
<table border="1">
<tr>
<th>번호</th><th>아이디</th><th>비번</th><th>이름</th>
</tr>
<%
for(int i = 0;i < list.size(); i++){
MemberDto mem = list.get(i);
%>
<tr>
<th><%=i + 1 %></th>
<td><%=mem.getId() %></td>
<td><%=mem.getPwd() %></td>
<td><%=mem.getName() %></td>
</tr>
<%
}
%>
</table>
<br>
<form action="home.do">
ID:<input type="text" name="id">
<input type="submit" value="회원정보"> <!--회원정보 보기 위해 home.JSP으로이동-->
</form>
</body>
</html>
<home.JSP>
<%@page import="multi.camp.a.dto.MemberDto"%>
<%@ 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>home jsp</h1>
<%
MemberDto mem = (MemberDto)request.getAttribute("mem"); <!--getAttribute는 Oject형태로 자료받기 때문에 MemberDto객체 형태로 형변환 해준다.-->
%>
회원정보:<br>
ID:<%=mem.getId() %><br>
PW:<%=mem.getPwd() %><br>
NAME:<%=mem.getName() %><br>
EMAIL:<%=mem.getEmail() %><br>
</body>
</html>
<ID에 aaa 입력하고 회원정보 입력했을시 보이는 Home.JSP화면>
<MemberDto.java>
package multi.camp.a.dto;
import java.io.Serializable;
public class MemberDto implements Serializable {
private String id;
private String pwd;
private String name;
private String email;
private int auth;
public MemberDto() {}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getAuth() {
return auth;
}
public void setAuth(int auth) {
this.auth = auth;
}
public MemberDto(String id, String pwd, String name, String email, int auth) {
super();
this.id = id;
this.pwd = pwd;
this.name = name;
this.email = email;
this.auth = auth;
}
@Override
public String toString() {
return "MemberDto [id=" + id + ", pwd=" + pwd + ", name=" + name + ", email=" + email + ", auth=" + auth + "]";
}
}
<MemberDao.java>(interface)
package multi.camp.a.dao;
import java.util.List;
import multi.camp.a.dto.MemberDto;
public interface MemberDao {
List<MemberDto> allmember();
MemberDto getmember(MemberDto dto);
}
<MemberDaoImpl.java> (MemberDao상속)
package multi.camp.a.dao.impl;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import multi.camp.a.dto.MemberDto;
import multi.camp.a.dao.MemberDao;
@Repository
public class MemberDaoImpl implements MemberDao{
@Autowired // <- 객체 자동 생성
SqlSession sqlSession;
String namespace = "Member."; // Member.XML의 <mapper namespace="Member"> 와 관련
@Override
public List<MemberDto> allmember() {
List<MemberDto> list = sqlSession.selectList(namespace + "allmember");
return list;
}
@Override
public MemberDto getmember(MemberDto dto) {
MemberDto mem = sqlSession.selectOne(namespace + "getmember", dto);
return mem;
}
}
<MemberService.java> (interface)
package multi.camp.a.service;
import java.util.List;
import multi.camp.a.dto.MemberDto;
public interface MemberService {
public List<MemberDto> allmember();
MemberDto getmember(MemberDto dto);
}
<MemberServiceImpl.java> (MemberService.java 상속)
package multi.camp.a.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import multi.camp.a.dao.MemberDao;
import multi.camp.a.dto.MemberDto;
import multi.camp.a.service.MemberService;
@Service
public class MemberServiceImpl implements MemberService{
@Autowired
MemberDao dao;
@Override
public List<MemberDto> allmember() {
return dao.allmember();
}
@Override
public MemberDto getmember(MemberDto dto) {
return dao.getmember(dto);
}
}
<Member.xml> (MemberDao 와 MemberService 모두 연관, SQL Data 와 연결된 곳, mybatis이용.)
<?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="Member">
<select id="allmember" resultType="multi.camp.a.dto.MemberDto">
SELECT ID, PWD, NAME, EMAIL, AUTH
FROM MEMBER
</select>
<select id="getmember" parameterType="multi.camp.a.dto.MemberDto"
resultType="multi.camp.a.dto.MemberDto">
SELECT ID, PWD, NAME, EMAIL
FROM MEMBER
WHERE ID=#{ id } //특정하게 조회된 id만 정보를 출력
</select>
</mapper>
<HelloController.java>
package multi.camp.a;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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 multi.camp.a.dto.MemberDto;
import multi.camp.a.service.MemberService;
@Controller
public class HelloController {
private static Logger logger = LoggerFactory.getLogger(HelloController.class);
@Autowired
MemberService service;
@RequestMapping(value="hello.do", method = RequestMethod.GET)
public String hello(Model model) {
logger.info("HelloController hello()" +new Date());
//DB접근
List<MemberDto> list = service.allmember();
model.addAttribute("list",list);
//Model은 객체에 속성값을 넣어 JSP에 해당 속성값을 제공하는 역할.
//"list"는 키값
return "hello";
}
@RequestMapping(value="home.do", method = RequestMethod.GET)
public String home(Model model, MemberDto dto) {
logger.info("HelloController home()"+new Date());
System.out.println(dto.toString());
MemberDto mem = service.getmember(dto);
model.addAttribute("mem",mem);
return "home";
}
}
'코딩 기록 > Spring' 카테고리의 다른 글
Comments