http://m.blog.naver.com/foxmann/90096071680

'Computer > Link..' 카테고리의 다른 글

CodeLion 웹서비스 만들기  (0) 2014.08.14
프로그래밍 입문용 개발툴 HelloWorld  (0) 2014.08.14
Unity3D Korea  (0) 2014.08.14
Unity3D 기초강의  (0) 2014.08.14
HUB-AI  (0) 2014.08.14

http://korea.unity3d.com/content/content.php?cont=unity_main

'Computer > Link..' 카테고리의 다른 글

프로그래밍 입문용 개발툴 HelloWorld  (0) 2014.08.14
안드로이드 Unity 게임만들기  (0) 2014.08.14
Unity3D 기초강의  (0) 2014.08.14
HUB-AI  (0) 2014.08.14
생활코딩  (0) 2014.08.14

http://www.youtube.com/watch?v=3D-afR-O1K4&app=desktop

'Computer > Link..' 카테고리의 다른 글

안드로이드 Unity 게임만들기  (0) 2014.08.14
Unity3D Korea  (0) 2014.08.14
HUB-AI  (0) 2014.08.14
생활코딩  (0) 2014.08.14
HTTP 프로토콜 분석  (0) 2014.08.14

http://hub-ai.com/main

'Computer > Link..' 카테고리의 다른 글

안드로이드 Unity 게임만들기  (0) 2014.08.14
Unity3D Korea  (0) 2014.08.14
Unity3D 기초강의  (0) 2014.08.14
생활코딩  (0) 2014.08.14
HTTP 프로토콜 분석  (0) 2014.08.14

http://opentutorials.org/course/1

'Computer > Link..' 카테고리의 다른 글

안드로이드 Unity 게임만들기  (0) 2014.08.14
Unity3D Korea  (0) 2014.08.14
Unity3D 기초강의  (0) 2014.08.14
HUB-AI  (0) 2014.08.14
HTTP 프로토콜 분석  (0) 2014.08.14

http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Network_Programing/AdvancedComm/HTTP#s-1.1

'Computer > Link..' 카테고리의 다른 글

안드로이드 Unity 게임만들기  (0) 2014.08.14
Unity3D Korea  (0) 2014.08.14
Unity3D 기초강의  (0) 2014.08.14
HUB-AI  (0) 2014.08.14
생활코딩  (0) 2014.08.14

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>




<c:set var="abc" value=""></c:set>

<c:set var="att" value=""></c:set>

<c:set var="lat" value=""></c:set>

<c:set var="ear" value=""></c:set>

<c:if test="${b.att_checks ==0}">

<c:set var="abc" value="selected"></c:set>

 </c:if>

<c:if test="${b.att_checks ==1}">

<c:set var="att" value="selected"></c:set>

</c:if>

<c:if test="${b.att_checks ==2}">

<c:set var="lat" value="selected"></c:set>

</c:if>

<c:if test="${b.att_checks ==3}">

<c:set var="ear" value="selected"></c:set>

</c:if>

<form>

<select class="form-control" id="chk_att" onchange="location = this.options[this.selectedIndex].value;">

<option id="1" value="attendanceUpdate.do?user_id=${a.user_id }&att_date=${b.att_date}&att_checks=1"                                                  

${att }>출석</option>

<option id="0" value="attendanceUpdate.do?user_id=${a.user_id }&att_date=${b.att_date}&att_checks=0"

          ${abc }>결석</option>

      <option id="2" value="attendanceUpdate.do?user_id=${a.user_id }&att_date=${b.att_date}&att_checks=2"

${lat }>지각</option>

<option id="3" value="attendanceUpdate.do?user_id=${a.user_id }&att_date=${b.att_date}&att_checks=3"

${ear }>조퇴</option>

</select>

</form>

'Computer > JSP Servlet JavaScript' 카테고리의 다른 글

JSP SQL Injection 방어 기법  (0) 2014.08.21
JSP 버튼이벤트  (0) 2014.08.19
JQUERY 화면전환 없이 비동기 업로드  (0) 2014.08.18
JSP Modal 사용하기  (0) 2014.08.14
JSP c:choose  (0) 2014.08.14

 mybatis에서 테이블간의 1:N관계를 select 할때 resultMap을 통한 일종의 서브쿼리 형식으로 데이터를 가져올수 있다.

 예를들어 게시판(BOARD)라는 테이블과 댓글(COMMENT)라는 테이블이 있고, 하나의 게시글에는 여러개의 댓글이 생성될수 있음으로 게시판과 댓글의 관계는 1:N관계이다.

 이런 구조를 자바 코드로 클래스를 만들어 보면 다음과 같다.

class Board{

  private String board;

  private String title;

  private String content;

  private String writer;

  private List<Comment> comments;

  //getter, setter 생략 

}

 소스에서도 볼수 있듯이 Board라는 클래스는 comment의 List형태인 comments라는 프로퍼티를 가지고 있게된다.

 이렇게 1:N의 구조일때 Mybatis에서는 쿼리를 저장하는 xml파일(iBatis에서는 sqlmap으로 불렀으나 mybatis에서는 mapper라고 부름)에 resultMap 엘리먼트로 다음과 같이 설정할 수 있다.

<resultMap id="boradResult" type="net.krespo.mybatis.Board">

  <result property="boardid" column="BOARDID"/>

  <result property="title" column="TITLE"/>

  <result property="content" column="CONTENT"/>

  <collection property="comments" column="BOARDID" 

javaType="java.util.ArrayList" ofType="net.krespo.mybatis.Comment" select="getCommentListById"/>

 </resultMap>

 <select id="getBoardById" resultMap="boardResult">

  SELECT boardid, title, content FROM board WHERE boardid = #{boardid}

 </select>

 <select id="getCommentListById" resultType="net.krespo.mybatis.Comment">

  SELECT commentid, boardid, writer, content FROM comment WHERE boardid = #{boardid}

 </select>

 위와같이 getBoardById라는 쿼리는 게시글을 읽어올때 실행되는 쿼리이다.

 이때 getBoardById는 resultMapboardResult를 지정하고 있고 boardResult의 collection선언을 통해(select="getCommentListByBoardId" 쿼리를 실행할때 parameter는 column으로 선언된 boardid를 가지고) 하위 댓글 리스트를 가져온다. 만약 댓글을 가져올때 자기가 쓴글에 자기가 쓴 댓글을 가져오려면 어떻게 해야할까?

  그럴때는 boardid와 writer를 getCommentListById로 넘겨주어야 한다. 이처럼 여러개의 파라미터를 collection에서 넘길때는


column="{prop1=COLUMN1, prop2=COLUMN2}"


로 쓰면된다. 

<collection property="comments" column="{boardid=BOARDID,writer=WRITER}"

 javaType="java.util.ArrayList" ofType="net.krespo.mybatis.Comment" select="getMyCommentListById"/>

 <select id="getMyCommentListById" parameterType="java.util.Map" resultType="net.krespo.mybatis.Comment"> 

SELECT id, writer, content FROM comment WHERE boardid = #{boardid} AND writer = #{writer}

 </select>

로 쓰면 된다. 이때 select문에서 사용하는 파라미터명과 collection에서 선언한 column의 prop1, prop2명이 반드시 동일해야 한다.(column="{prop1prop2prop1prop2}) 그리고 또 반드시 주의 해야 할점은 파라미터가 한개만 전달할때는(맨 첫번째 예제인 게시글에 댓글을 가져올때) getCommentListById에 parameterType을 지정하지 않아도 됐었다. 그러나 위와 같이 collection으로 파라미터를 여러개 전달해야 할때는 반드시 parameterType="java.util.Map"을 지정해 줘야 한다.



'Computer > Spring Maven MyBatis' 카테고리의 다른 글

Spring Mybatis 기본설정  (0) 2014.09.26
Spring 게시판 페이지  (0) 2014.08.18
Spring GET방식 한글 깨짐  (0) 2014.08.18
Spring 파일 다운로드  (0) 2014.08.18
Spring 파일 업로드  (0) 2014.08.18

cmd창

sqlplus hr/hr@127.0.0.1:1521/xe



세팅

set linesize 300

set pagesize 40

'Computer > DB' 카테고리의 다른 글

SQL Insert select update delete  (0) 2014.09.01
SQL hr 계정 풀기  (0) 2014.09.01
SQL Date 관련 함수  (0) 2014.09.01
SQL Injection 방어기법  (0) 2014.08.21
SQL Group by  (0) 2014.08.13

package com.redjava.java.collections.arraylist;


import java.util.ArrayList;


public class CollectionAddElement {

public static void main(String[] args) {


// arrayList 이름을 가진 ArrayList 생성

ArrayList arrayList = new ArrayList();


// ArrayList 에 element 추가 

arrayList.add("1번");

arrayList.add("2번");

arrayList.add("3번");

// ArrayList 에 element 추가 

arrayList.add("=> 4번");

arrayList.add("=> 5번");

// ArrayList의 element를 화면에 출력

System.out.println("index를 부여하지 않은 ArrayList elements");

for(int index=0; index < arrayList.size(); index++)

System.out.println(arrayList.get(index));

// ArrayList의 4번째와 5번째 element를 삭제

arrayList.remove(4);

arrayList.remove(3);

// ArrayList 에 index를 부여한 element 추가

arrayList.add(0,"=> 4번");

arrayList.add(1,"=> 5번");

// ArrayList의 element를 화면에 출력

System.out.println("index를 부여한 ArrayList elements");

for(int index=0; index < arrayList.size(); index++)

 System.out.println(arrayList.get(index));

}


}

'Computer > JAVA' 카테고리의 다른 글

JDBC Date형 처리  (0) 2014.08.14
Java util.date sql.date 형변환  (1) 2014.08.14
Java 확장 For 문  (0) 2014.08.13
Java HashMap  (0) 2014.08.13
Java 16진수로 변환  (0) 2014.08.12

+ Recent posts