반응형
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 |
29 | 30 |
Tags
- 컨트롤러url
- 한글깨짐해결방법
- mybatis연결
- 이클립스데이터베이스연결
- Could not create the java Virtual Machine
- insert할글깨짐
- 톰캣9.0다운로드
- insert 중복방지
- 스프링게시판등록
- 게시판목록조회
- 스프링프로젝트
- 게시판상세보기
- 전자정부프레임워크 double-submit
- double-submit
- Java
- 스프링게시판목록조회
- HTML
- url설정
- 자바스크립트
- 스프링게시판insert
- 스프링게시판상세보기
- oracle
- mysqlinsert한글깨짐
- 게시판만들기
- 이클립스db연결
- 톰캣시작페이지설정
- 저장할때한글깨짐
- 게시판insert
- 스프링게시판만들기
- dataSource설정
Archives
- Today
- Total
하루의 일상💜
[게시판만들기] 게시글목록 조회하기 본문
반응형
1. 조회할 데이터를 db에 넣어준다.
테이블생성, insert를 통하여 데이터 넣기
CREATE TABLE `board` (
`SEQ` int(10) NOT NULL AUTO_INCREMENT,
`TITLE` varchar(100) DEFAULT NULL COMMENT '게시글 제목',
`CONTENT` varchar(500) DEFAULT NULL COMMENT '게시글 내용',
`REG_DATE` varchar(20) DEFAULT NULL COMMENT '등록일',
`MOD_DATE` varchar(20) DEFAULT NULL COMMENT '수정일',
PRIMARY KEY (`SEQ`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO haru.board
(TITLE, CONTENT, REG_DATE, MOD_DATE)
VALUES('제목1', '내용1', NOW(), NOW());
INSERT INTO haru.board
(TITLE, CONTENT, REG_DATE, MOD_DATE)
VALUES('제목2', '내용2', NOW(), NOW());
INSERT INTO haru.board
(TITLE, CONTENT, REG_DATE, MOD_DATE)
VALUES('제목3', '내용3', NOW(), NOW());
조회하면 아래와 같이 데이터가 들어간 것을 확인 할 수 있다.
select * from board;
2. 해당 경로에 SQL작성할 xml 생성
/haru/src/main/resources/sqlmap/mappers/BbsSQL.xml
BbsSQL.xml
<?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="BbsDAO">
<select id="selectBbsList" resultType="haru.com.bbs.service.BbsVO">
SELECT *
FROM BOARD
</select>
</mapper>
여기서 resultType을 vo가 있는 경로를 써줘야하는 번거로움을 줄일 수 있는 방법을 mybatis에서 지원하고 있다.
위에서 생성했던 sql-mapper-config에 vo 경로를 추가해줘서 alias만 사용할 수 있다.
sql-mapper-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"></setting>
<setting name="jdbcTypeForNull" value="VARCHAR"></setting>
</settings>
<!--Mybatis 설정 -->
<typeAliases>
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap" />
<typeAlias alias="bbsVO" type="haru.com.bbs.service.BbsVO"/>
</typeAliases>
</configuration>
<select id="selectBbsList" resultType="bbsVO">
SELECT *
FROM BOARD
</select>
3. vo, service, serviceimpl, controller 생성
패키지를 나눠서 아래처럼 생성하였다.
BbsVO
package haru.com.bbs.service;
public class BbsVO {
private int seq;
private String title;
private String content;
private String regDate;
private String modDate;
public int getSeq() {
return seq;
}
public void setSeq(int seq) {
this.seq = seq;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getRegDate() {
return regDate;
}
public void setRegDate(String regDate) {
this.regDate = regDate;
}
public String getModDate() {
return modDate;
}
public void setModDate(String modDate) {
this.modDate = modDate;
}
}
BbsDAO
package haru.com.bbs.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractMapper;
import haru.com.bbs.service.BbsVO;
@Repository("bbsDAO")
public class BbsDAO extends EgovAbstractMapper {
public List<?> selectList(BbsVO vo) throws Exception {
return selectList("selectBbsList", vo);
}
}
BbsService
package haru.com.bbs.service;
import java.util.List;
public interface BbsService {
List<?> selectList(BbsVO vo) throws Exception;
}
BbsServiceImpl
package haru.com.bbs.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import haru.com.bbs.service.BbsService;
import haru.com.bbs.service.BbsVO;
@Service("bbsService")
public class BbsServiceImpl implements BbsService {
@Resource(name = "bbsDAO")
private BbsDAO bbsDAO;
public List<?> selectList(BbsVO vo) throws Exception {
return bbsDAO.selectList(vo);
}
}
BbsController
package haru.com.bbs.web;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import haru.com.bbs.service.BbsService;
import haru.com.bbs.service.BbsVO;
@Controller
public class BbsController {
@Resource(name = "bbsService")
private BbsService bbsService;
@RequestMapping(value = "/index.do")
public String main() throws Exception {
return "main";
}
@RequestMapping(value = "/bbsList.do")
public String bbsList(BbsVO vo, Model model) throws Exception {
List<?> bbsList = bbsService.selectList(vo);
model.addAttribute("resultList", bbsList);
return "/bbs/bbsList";
}
}
return "/bbs/bbsList";
bbsList라는 jsp를 return 하겠다는 의미이다.
해당 경로에 불러와줄 jsp생성
4. jsp 설정
처음 <welcome-file-list> 설정해준 파일에 게시글 목록으로 이동할 수 있게 컨트롤러 url을 써준다.
main.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>
<div>메인페이지</div>
<div>
<a href="/bbsList.do">게시글목록</a>
</div>
</body>
</html>
bbsList.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<caption>게시판테이블</caption>
<thead>
<tr>
<th>번호</th>
<th>제목</th>
<th>내용</th>
<th>등록일</th>
</tr>
</thead>
<tbody>
<c:forEach var="rs" items="${resultList}" varStatus="status">
<tr>
<td>${rs.seq}</td>
<td>${rs.title}</td>
<td>${rs.content}</td>
<td>${rs.regDate}</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>
반응형
'전자정부프레임워크' 카테고리의 다른 글
[게시판만들기] 게시판목록 클릭 시 상세보기 (0) | 2024.03.06 |
---|---|
[게시판만들기] 게시글 등록하기 (0) | 2024.03.05 |
[게시판만들기] MyBatis, MySQL DB연결 (0) | 2024.02.29 |
[게시판만들기] 컨트롤러 통하여 .do로 jsp 열기/jsp:forward (1) | 2024.02.15 |
[게시판만들기] 톰캣 프로젝트 실행시 시작페이지 설정/포트번호입력하여 jsp열기 (1) | 2024.02.14 |