차근차근/Spring
게시판만들기
[Spring3+ibatis] CRUD 게시판 part 1
http://blog.naver.com/lehw1/90135647978
CRUD : Create Read Update Delete 4가지 데이터 처리 기능의 모음을 일컷는 말
===========================
구현 환경.
SpringSource Tool Suite
jdk 1.6.0.29
MySQL5.5
============================
DB 작성.
DB : board
TABLE : board DB 만드는 방법은 제 블로그에..
----------------------------------------------------------------
-- BOARD
CREATE TABLE `board` (
`seq` INT(11) NOT NULL AUTO_INCREMENT, -- 식별자(공통)
`subject` VARCHAR(128) NULL, -- 제목(공통)
`content` VARCHAR(4000) NULL, -- 내용(공통)
PRIMARY KEY(`seq`),
UNIQUE KEY seq (seq)
);
---------------------------------------------------------------
test 용 insert
---------------------------------------------------------------
INSERT INTO board (subject,content) VALUES('test Subject', 'test Content');
INSERT INTO board (subject,content) VALUES('test Subject2','test Content2');
---------------------------------------------------------------
BoardTest
Spring Template Project : BoardTest
packege : com.test.board
Board.java - getter,setter 모음 DTO
BoardController.java - 컨트롤러
BoardService.java - service interface
BoardServiceImpl.java - service 구현
Board.xml - query 문 작성
dao-context.xml - mysql5.5 연결 쿼리문, ibatis 쿼리문 작성
SqlMapConfig.xml - 쿼리문 모음 저장소
이렇게 파일만 만들고 내용은 따로 설명하겠음.
src를 보면
servlet-context.xml - dao-context 임포트 해주는 곳
-----------
list.jsp - 목록보기
update.jsp - 수정하기
view.jsp - 내용보기
write.jsp - 글쓰기
-----------
web.xml - 한글 깨짐 필터 추가하기
-----------
pom.xml - 디펜던시 추가하기
여기까지 없는 것을 추가해 준다.
나중에 주소창에 내 프로젝트명을 숨기기 위해서
프로젝트 속성 -> Web Project Settings -> Context root 를 CRUDBoard 에서 /로 바꿨다.
이러면 나중에 주소창에
http://localhost:8079/CRUDBoard/ ---> http://localhost:8079/ 로 된다.
-------------------------------------------------------------------------------------------
서버 오른쪽 클릭 Add and Remove 클릭 --> BoardTest add 하고 피니쉬
아래처럼 서버가 등록된다.
왼쪽 프로젝트에서 Servers 를 열어서 -> VMware vFabric tc Server Developer Edition v2.6-config
--> server.xml 을 열어서 보이는 거 처럼 BoardTest 의 path 를 "/" 로 바꿔준다.
"/BoardTest" ---> "/"
이제는 서버를 실행해도 무방 하다.
경로는 나의 경우 8080->8079로 변경해놨기 때문에 8079를 포트번호로 사용.
일반적으로 8080으로 잡혀있다.
http://localhost:8079/list.do 이런식으로 실행됨 프로젝트명이 빠지고.
[출처] [Spring3+ibatis] CRUD 게시판 part 1|작성자 신지석
[Spring3+ibatis] CRUD 게시판 part 2
[출처] [Spring3+ibatis] CRUD 게시판 parssst 2|작성자 신지석
http://blog.naver.com/lehw1/90135680895
pom.xml 을 열고 디펜던시를 추가해준다.
[출처] [Spring3+ibatis] CRUD 게시판 part 2|작성자 신지석
[Spring3+ibatis] CRUD 게시판 part 3
----------------------------------------------------------------------------
<beans:import resource="classpath:com/test/board/dao-context.xml"/>
-----------------------------------------------------------------------------
이래야 서버가 읽을때 같이 읽어 준다.
자신이 넣어둔 패키지 명으로 써야한다.
dao-context.xml
mysql 연결,ibatis 연결을 추가해준다.
------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<!-- //MySql 접속부분 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/board" />
<property name="username" value="root" /> <!-- 이부분 자신의 계정에 맞게 수정 -->
<property name="password" value="inpion" /> <!-- 이부분 자신의 계정에 맞게 수정-->
</bean>
<!-- # iBatis setting# -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:com/test/board/SqlMapConfig.xml" /> <!-- 패키지명 주의-->
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="SqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
<property name="sqlMapClient" ref="sqlMapClient" />
</bean>
</beans>
-------------------------------------------------------------------------------------
다음은 SqlMapConfig.xml
아래를 추가해 준다.
-----------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<!-- 쿼리문 모음 저장소 -->
<!-- settings / -->
<!-- Common -->
<!-- Announce.xml을 쓰겠다고 선언 -->
<sqlMap resource="com/test/board/Board.xml" />
</sqlMapConfig>
-------------------------------------------------------------------------------------
Board.xml - 쿼리문
-------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="board_query">
<typeAlias alias="board" type="com.test.board.Board" />
<select id="list" resultClass="hashmap">
<![CDATA[ SELECT * FROM board ]]></select>
<select id="select" parameterClass="String" resultClass="board">
<![CDATA[ select board.seq,board.subject,board.content from board where board.seq=#seq#]]></select>
<insert id="insert" parameterClass="board">
<![CDATA[ INSERT INTO board(subject,content) VALUES(#subject#,#content#); ]]></insert>
<delete id="delete">
<![CDATA[ DELETE FROM board WHERE seq=#seq#]]></delete>
<update id="update">
<![CDATA[ update board set subject=#subject#,content=#content# where seq=#seq# ]]></update>
</sqlMap>
-----------------------------------------------------------------------------------------
하나씩만 실습때는 주석처리 후 사용하는 것이 좋다. 안그러면 에러남.
[출처] [Spring3+ibatis] CRUD 게시판 part 3|작성자 신지석
------------------------------------------------------------
package com.test.board;
public class Board {
public Board(){}
private String seq;
private String subject;
private String content;
public String getSeq() {
return seq;
}
public void setSeq(String seq) {
this.seq = seq;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
[출처] [Spring3+ibatis] CRUD 게시판 part 5 jsp|작성자 신지석
-------------------------------------------------------------------------------
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>Board</title>
</head>
<body>
<h1>
Hello Board!
</h1>
<br>
<table border="1"> <!-- 테이블 사이즈 -->
<colgroup width="300">
<col width="30" />
<col width="100" />
<col />
</colgroup>
<!-- for문 boardList 반복 -->
<c:forEach var="row" items="${boardlist}">
<tr>
<td>${row.seq}</td>
<td><a href="/view.do?seq=${row.seq}">${row.subject}</a></td>
<td>${row.content}</td>
</tr>
</c:forEach>
</table>
<br />
<input name="write" type="button" value="새글쓰기" class="inputb" onclick="javascript:location.href='/writeForm.do';" />
</body>
</html>
[출
http://[Spring3+ibatis] ddCRUD 게시판 part6 실행화면 및 소스 파일
dddddd
sss처] [Spring3+ibatis] CRUD 게시판 part 5 jsp|작성자 신지석
[출처s]s [Spring3+ibatis] CRUD 게시판 part 3|작성자 신지석
[Spring3+ibatis] CRUD 게시판 part6 실행화면 및 소스 파일
http://blog.naver.com/lehw1/90135685755
list 화면
write 화면
글쓴 뒤 리스트
view 글 내용 보기
수정 화면
고쳐서 저장
삭제 기능 도 가능.
소스 파일은 export 한 거라 압축풀고 import 해서 집어 넣으면 됨
'차근차근 > Spring' 카테고리의 다른 글
Controller와 ModealAndView (0) | 2015.06.15 |
---|---|
Maven으로 Spring MVC 실습하기 (0) | 2015.06.04 |
server tomcat v7.0 server at localhost failed to start. 3 (0) | 2015.06.02 |
server tomcat v7.0 server at localhost failed to start. 2 (0) | 2015.06.01 |
Server Tomcat v7.0 Server at localhost failed to start. 1 (0) | 2015.06.01 |