[WEB] - eGovFramework

HyeJi9908·2022년 11월 21일
0

DAO DTO VO

추가 설명 :

DAO : 직접 DB에 접근하여 data를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다.
MVC 패턴의 Model에서 이와 같은 일을 수행한다.


기본 프로젝트


전자정부프레임워크와 MyBatis연동

ppt참고


db접속 정보 설정

// globals.properties or jdbc.properties
Globals.db.DriverClassName=org.mariadb.jdbc.Driver
Globals.db.Url=jdbc:mariadb://[ip]:[port]/[db]?characterEncoding=UTF-8&allowMultiQueries=true
Globals.db.UserName=username
Globals.db.Password=password
# DB \uC811\uADFC \uC815\uBCF4
# mysql
Globals.db.DriverClassName=org.mariadb.jdbc.Driver
Globals.db.Url=jdbc:mariadb://10.1.4.115:3377/egov?characterEncoding=UTF-8&allowMultiQueries=true
Globals.db.UserName=root
Globals.db.Password=skyisys1007!

공지사항 글 조회


<!-- 공지사항 목록 조회 -->
    <select id="selectNoticeList" resultType="app.notice.vo.NoticeVO">
    	SELECT NTC_SN, NTC_TTL, NTC_CN, TOP_FIX, RGTR_ID, RGTR_DT
    	FROM tb_ntc
    	WHERE TOP_FIX = 'N'
  		AND NTC_TTL LIKE CONCAT('%',#{searchWrd},'%') // 단어에 searchWrd가 포함되어있으면
  
        <choose >
        <when test="searchCnd1 == 1"> // 조건문에 해당한다면 실행

        </when>
        <when test ="searchCnd1== 2">

        </when>

        <otherwise> // 전체검색 기능 넣기
          AND ( NTC_TTL LIKE CONCAT('%',#{searchWrd},'%' OR NTC_CN LIKE CONCAT('%',#{searchWrd},'%')))
        </otherwise>
       </choose>

  
    	ORDER BY RGTR_DT DESC
    	LIMIT #{firstIndex}, #{recordCountPerPage}
    </select>

로그인 페이지

  • src/main/webapp/WEB-INF/jsp/member/login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>로그인</title>
</head>
<body>
    <span style="color: red;">${message}</span>
    <form id="/login" method="post">
        <input type="text" name="mbrId" value="${memberVO.mbrId}">
        <input type="password" name="mbrPswd" value="${memberVO.mbrPswd}">

        <button type="submit">로그인</button>
        <button type="button" onclick="goJoinPage()">회원가입</button> 
        // 회원가입 버튼 클릭시 goJoinPage로 페이지 이동되도록 함
        
    </form>
</body>
</html>

<scsript>
	function goJoinPage(){
    	window.location.href = "/join"; // join페이지로 이동!

</script>

로그인과 세션

HttpSession 객체는 로그인 정보 같은 브라우저의 데이터를 세션으로 불러옴


평과과제 1 - 로그인정보 입력폼 추가하기

  • 공유받은 Login.jsp파일을 ...WEB-INF/.../sample_menu에 삽입

  • 버튼을 눌렀을 때 진행되는 메서드 -> Ajax호출(jQuery활용 ex) '$()' )

url : 정보가져올 url

  • $("#contextPath").val() path형태에 상관 없이 가져오겠다? 중요

위의 메서드는


위의 메인콘트롤러의 메인메이지에서 호출됨

  • 학원 관리번호 및 강의 관리번호 클래스

vo(Value Object) : ? 데이더 객체 , 데이터만 담아서 활용하기위한 목적으로
implements serializable: 데이터 직렬화를 위함

  • 멤버VO 클래스

  • 접근 가능한 서비스와 DAO

서비스 inteface클래스(학원의 목록을 가져오는 메소드를 가진) 생성

import java.util.List;

import org.egovframe.rte.psl.dataaccess.util.EgovMap;

public interface EgovMainService {
   public List<EgovMap> getIntteList() throws Exception;
   
      
}

서비스 Impl(구현)클래스(서비스 가져오기 실제 구현, db연결을 위해 DAO와 연결)

MainDAO 인터페이스 (학원 목록 db연결)

MainDAOImpl (실제 학원목록 db연결)

  • 쿼리문 생성(xml,학원 목록 조회)

메인콘트롤러에 추가
: 세션에 키를 받아 로그인 유무 파악(setAttribute()메소드 이용)


gson추가(json데이터 받는 라이브러리)


메인서비스에 추가(멤버vo get)


서비스 임플에 몸체 추가해주기


DAO 인터페이스에도 멤버vo get 추가

sql에 실제 쿼리 추가해주기

패키지 명 추가해서 Alias추가

0개의 댓글