카테고리 응용해서 메뉴판 만들기
Oracle 사용, MyBatis 사용
테이블명은 categoryex
대분류는
한식 중식 일식 양식
그안에는
한식은 김치찌개, 된장찌개
중식은 짜장면, 짬뽕
일식은 돈까스, 초밥
양식은 스파게티, 스테이크
이렇게 나눠서 만들어볼려고 한다.
대분류
중분류
이렇게해서 테이블은 만들어줬는데
잘 만들어졌는지 확인해 봤는데
이렇게 나와버렸다.
(idx는 이것저것 연습해보고 삭제했더니 ... idx는 무시해도 된다.)
카테고리 같이 분류나눠서 만들때는
정렬할때
order by ref , seq;
또는
order by ref desc, seq;
이렇게 정렬해야 분류가 되서 나온다.
한식이 제일 위에 나오게 만들고 싶어서
order by ref , seq;
이렇게 정렬해줬다.
이렇게 만들면 SQL은 완료
resources에 xml파일 2개
db.properties파일 이용
<properties resource="db.properties" />
typeAlias 별칭
<typeAlias type="kr.h.category.vo.CategoryVO" alias="CategoryVO" />
사용자가 만든
<property name="driver" value="${o.driverClassName}" />
<property name="url" value="${o.url}" />
<property name="username" value="${o.user}" />
<property name="password" value="${o.password}" />
<--긁지않은개발자-->
<?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>
<properties resource="db.properties" />
<typeAliases>
<typeAlias type="kr.h.category.vo.CategoryVO" alias="CategoryVO" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${o.driverClassName}" />
<property name="url" value="${o.url}" />
<property name="username" value="${o.user}" />
<property name="password" value="${o.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="testMapper.xml" />
</mappers>
</configuration>
<mapper resource="testMapper.xml" />
testMapper.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="test">
<select id="selectCategoryex" resultType="CategoryVO">
SELECT * FROM categoryex ORDER BY ref, seq
</select>
</mapper>
jsp파일 1개 (( JSTL 사용 ))
<--긁지않은개발자-->
<%
List<CategoryVO> list = null;
SqlSession sqlSession = null;
try {
sqlSession = CategoryApp.getSqlSessionFactory().openSession(false);
//---
list = sqlSession.selectList("test.selectCategoryex");
request.setAttribute("list", list);
//----
sqlSession.commit();
} catch (Exception e) {
sqlSession.rollback();
e.printStackTrace();
} finally {
sqlSession.close();
}
%>
JSTL 사용 (pom.xml에 추가해논 상태)
<--긁지않은개발자-->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
메뉴판안에 나올내용
<--긁지않은개발자-->
<div
style="width: 300px; height: 500px; background-color: #FFE0B2; border: 1px solid #E65100; text-align: center;">
<h2>메 뉴 판</h2>
<c:if test="${empty list }">
<h2 style="text-align: center;">등록된 항목이 없습니다.</h2>
</c:if>
<c:if test="${not empty list }">
<c:forEach var="vo" items="${list }">
<h2 style="font-size: 10pt; text-align: center;">
<c:if test="${vo.lev>0 }">
<c:forEach begin="1" end="${vo.lev }">
</c:forEach>
└>
</c:if>
${vo.item }
</h2>
</c:forEach>
</c:if>
</div>
실행 결과
등록된 글이 없을때 실행시 밑에 처럼 나온다 .
'JSP > JSP 이용하기' 카테고리의 다른 글
[JSP] JSP 페이지 강제이동시키기 response 내장 객체 (48) | 2023.09.26 |
---|---|
[JSP] JSP 회원가입 화면 만들기 (0) | 2023.06.09 |
[JSP] JSP 이용해서 달력 만들기 (양력 + 음력) (0) | 2023.06.08 |
[JSP] request 내장 객체 종류와 쓰는 방법 (0) | 2023.06.08 |
[JSP] JSP 이용해서 간단한 회원가입 화면 만들기(입력된 정보 웹페이지출력하기까지 +) (0) | 2023.06.07 |