추가 설명 :
DAO : 직접 DB에 접근하여 data를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다.
MVC 패턴의 Model에서 이와 같은 일을 수행한다.
ppt참고
// 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>
<%@ 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 객체는 로그인 정보 같은 브라우저의 데이터를 세션으로 불러옴
공유받은 Login.jsp파일을 ...WEB-INF/.../sample_menu에 삽입
버튼을 눌렀을 때 진행되는 메서드 -> Ajax호출(jQuery활용 ex) '$()' )
url : 정보가져올 url
위의 메서드는
위의 메인콘트롤러의 메인메이지에서 호출됨
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연결)
메인콘트롤러에 추가
: 세션에 키를 받아 로그인 유무 파악(setAttribute()메소드 이용)
gson추가(json데이터 받는 라이브러리)
메인서비스에 추가(멤버vo get)
서비스 임플에 몸체 추가해주기
DAO 인터페이스에도 멤버vo get 추가
sql에 실제 쿼리 추가해주기
패키지 명 추가해서 Alias추가