728x90

 

마이바티스 최대 특징 중 하나 : 쿼리를 태그화 시킨 것

코드가 많이 줄고 편하다

 

DOCTYPE 설정

<!DOCTYPE mapper .... >

앞으로 DOCTYPE 다음 어떤 타입인지 나오므로 잘 확인하자

나머지는 코드 복붙해서 쓰면된다

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 

1. 최상위 태그 <mapper>

namespace속성

마이바티스 설정파일(config.xml)에 등록한 매퍼파일의 값을 넣는 속성(element)

자바에서 어느 매퍼를 쓸지 알 수 있게 해주는 역할

<mapper namespace="memberMapper">
</mapper>

 

2. 쿼리문 태그 : <select>,<insert>,<update>,<delete>

이후로 나오는 태그들은 sql에서 썼던 CRUD의 명령어들이 태그화 된 것이므로 그대로 쓰면 되고,

속성(element)만 추가하면 된다

<mapper namespace="memberMapper">
	<select id="loginMember" parameterType="member.model.vo.Member" > 
     	쿼리문 내용
        ex)
            SELECT * 
            FROM MEMBER 
            WHERE USER_ID = #{userId} AND USER_PWD = #{userPwd} 
    </select>
</mapper>

1)id : 쿼리문의 고유 아이디(유일한 구분자)
   - mapper태그 안에 쿼리가 엄청 여러개이기 때문에 각각을 구분할 pk역할을 하는 id속성이 필요
 2)parameterType : 클래스의 풀네임 또는 (설정되었다면)별칭
 3)resultType : 반환받을 데이터의 데이터타입 지정
  - 쿼리 실행 후 나온 결과(ex:ResulSet) 옮겨 담을 객체를 정해주는 것

 

3.<resultMap>

vo클래스 필드명(담을 객체의 필드명)과 sql컬럼명 매핑시켜주는 태그

resultMap태그 속성값

1) type : 클래스 풀네임or별칭
2) id : pk역할. 이 resultMap이 어느 resultMap맵인지 식별용

<resultMap type="Member" id="memberResultSet">

 

resultMap 하위 태그

1)id태그 : pk역할(기본키) 하는 얘가 들어감.
- column : DB의 컬럼명
- property : 매핑 시킬 자바 vo의 필드명
2)result태그 : 일반 컬럼이 들어감

<!-- PK(기본키) -->
<id column="USER_ID" property="userId"/>
<!-- 일반 컬럼 -->
<result column="USER_PWD" property="userPwd"/>

 

<resultMap> 전체코드

<resultMap type="Member" id="memberResultSet">

		<!-- PK(기본키) -->
		<id column="USER_ID" property="userId"/>
		<!-- 일반 컬럼 -->
		<result column="USER_PWD" property="userPwd"/>
		<result column="USER_NAME" property="userName"/>
		<result column="NICKNAME" property="nickName"/>
		<result column="EMAIL" property="email"/>
		<result column="BIRTHDAY" property="birthDay"/>
		<result column="GENDER" property="gender"/>
		<result column="PHONE" property="phone"/>
		<result column="ADDRESS" property="address"/>
		<result column="ENROLL_DATE" property="enrollDate"/>
		<result column="UPDATE_DATE" property="updateDate"/>
		<result column="M_STATUS" property="mStatus"/>
	</resultMap>

 

 

 

728x90
반응형
728x90

JSP 표준 액션 태그

JSP에서 기본으로 제공하는 태그

 

jsp:include

현재 페이지에 특정 페이지를 포함할 때 사용

공통 코드를 복붙 하기보다 각각 JSP 페이지에 구성을 하고 액션태그를 이용해 페이지를 포함시키는 것이 좋다 공통적으로 적용된 부분을 한꺼번에 수정할 수 있게 되어 유지보수가 수월

jsp include 지시자와의 차이

<%@ include file=“파일 명” %>과 쓰임이 동일하나 jsp파일이 java파일로 변환될 때 삽입되는 <%@ include %>와는 달리

jsp파일이 java파일로 바뀌고 컴파일이 완료되어 런타임 시 삽입

<jsp:include page=“파일 명“ flush=“true”/>
<jsp:include page=“./header.html”>
		<jsp:param name=“str” value=“안녕하세요”> 
</jsp:include>

 

 

jsp:forward

현재 페이지 접근 시, 특정 페이지로 이동

하나의 JSP페이지에서 다른 JSP페이지로 요청 처리를 전달할 때 사용 전달하는 페이지에서 request, response객체가 같이 전달되며, URL 변경x

RequestDispatcher 의 forward와 비슷

<jsp:forward page=”이동할페이지”>
		<jsp:param name=”변수명” value=”값” /> 
</jsp:forward>

 

<% if(str.equals(“A”)) { %>
		<jsp:forward page=“test1Class.jsp”>
<% } else { %>
		<jsp:forward page=“test2Class.jsp”> <% } %>

 

jsp:useBean

Java Bean객체를 사용하기 위한 태그

JSP에서 사용하는 VO, DTO, Entity와 동일

java class를 참조하여 빈(java bean) 객체를 생성하고 setProperty와 getProperty를 통해 값 저장 및 조회 가능

이미 같은 이름의 객체가 생성된 경우 기존의 객체 참조

 

   - id : 객체 인스턴스를 식별하는 이름

   - class : 완전한 형태의 클래스 이름

   - scope : 객체 참조의 유효범위(default : page)

<jsp:useBean id=”빈 이름” scope=”범위” class=”빈의 저장위치”/〉

<jsp:useBean id=“객체명“ class=“패키지 명. 클래스 명“ scope=“범위 지정자“/>
728x90
반응형
728x90

jsp:useBean

    - param 속성

 

setProperty

 - name속성 : useBean의 id속성값에서 객체(여기서는 vo클래스)를 호출
 - property속성 : vo객체 안에 값을 저장할 setter명을 지정해준 것
 - param : 뷰에서 보낸 데이터를 받아오는 역할

 

getProperty

Java객체 사용 시 Getter와 동일한 역할

빈의 속성값읕 얻는데 사용

    - name : 속성을 얻고자 하는 빈 인스턴스의 이름

    - property : 얻고자 하는 속성의 이름

 

 

<h2> 1.표준 액션 태그  useBean으로 vo클래스 객체 불러오기</h2>
	
	<jsp:useBean id="per" class="action.model.vo.Person"></jsp:useBean>
	
	<!-- set으로 a값 넣기 : value속성값 -->
	<jsp:setProperty property="name" name="per" value="a"/>
	
	<span>jsp:useBean & getProperty로 vo클래스 값 가져오기 :</span> 
	<jsp:getProperty property="name" name="per"/><br><br>

<br><hr><br>
<h2> 2.표준 액션 태그 중 useBean을 사용하여 vo클래스에 데이터 초기화</h2>
	<jsp:useBean id="p" class="action.model.vo.Person" scope="request"/>
	<jsp:setProperty property="name" name="p" value="b"/>
	
	<span>jsp:useBean & getProperty로 vo클래스 값 가져오기 : </span>
	<jsp:getProperty property="name" name="p"/><br><br>
	
	
	이름 : <jsp:getProperty property="name" name="p"/><br> 
	성별 : <jsp:getProperty property="gender" name="p"/><br>
	나이 : <jsp:getProperty property="nai" name="p"/>

<br><hr><br>
<h2> 3.jsp 표준 액션태그 중 useBean의 param속성 사용하기</h2>
<% request.setCharacterEncoding("UTF-8"); %> <!-- 자바코드 끌어오는 거니 끝에 세미콜론; -->
	<jsp:useBean id="p3" class="action.model.vo.Person" scope="request">
		<!-- 1)param속성 사용 -->
		<jsp:setProperty property="gender" name="p3" param="gender"/>
		<jsp:setProperty property="nai" name="p3" param="nai"/>
		<jsp:setProperty property="name" name="p3" />
		<!-- 
			jsp:setProperty에서 
				 name속성 : useBean의 id속성값에서 객체(여기서는 vo클래스)를 호출해오고 
				 property속성 : vo객체 안에 값을 저장할 setter명을 지정해준 것
				 param : 뷰에서 보낸 데이터를 받아오는 역할
		 -->
	</jsp:useBean>
		이름 : <jsp:getProperty property="name" name="p3"/><br>
		성별 : <jsp:getProperty property="gender" name="p3"/><br>
		나이 : <jsp:getProperty property="nai" name="p3"/><br>

<br><br><br>
</body>
</html>
728x90
반응형

'small steps > 1일 1코딩 - 코딩을 내 몸처럼' 카테고리의 다른 글

[1일 1코딩]  (0) 2022.05.30
[1일 1코딩]  (0) 2022.05.29
[1일 1코딩][JSP] 표준액션태그 <jsp:useBean>  (0) 2022.05.27
[1일 1코딩][JSP] 표준 액션 태그  (0) 2022.05.26
[1일1코딩]  (0) 2022.05.24
728x90

처음 부트스트랩을 쓰면서 가장 당황했던게 

css가 적용이 안되는 것이었다. 이틀 꼬박을 헤맸다.

공홈을 몇번을 읽었는데 무슨 소리인지 모르겠어서 환자할 것 같았다.

글을 보는 초보분이 있다면 저와 같은 당황스러움과 시간낭비 없이 효과적으로 빠르게 해결되기를 바란다

 

기존 html에 css를 적용할 때 선택자(selector) 중에 id와 class선택자를 이용해보자. 가장 쉽고 간단하다.

html의 어떤 태그에 id와 class 속성을 넣고 안에 속성값으로 원하는 이름을 지어줬으면 

얘들 이름을 호명하고 css를 적용시키는 방식이다.


여기까지는 부트스트랩도 같지만 내가 헤맸던 건 부트스트랩을 적용한 html 어디에 넣어서 적용해야할지를 몰랐던 것이다.

당황스럽게도 태그 안 속성 class="" 안에 지정해주는 것이다. 아래는 나의 진행 중인 프로젝트 파일 css이다

 

 

아래처럼 class선택자를 사용하여 class 속성값 "" 안에  클래스명을 지정하면 css가 먹힌다

주의할 점은 태그 마다 먹히는 css가 있고 아니니 부딪혀보자

백그라운드 컬러가 안먹힌다던가 볼드만 먹힌다던가 등등 이런식이다

 

728x90
반응형

'웹 관련 > Bootstrap' 카테고리의 다른 글

[Bootstrap] 페이지네이션(Pagination)  (0) 2022.05.02

+ Recent posts