Emp.java - POJO

package daoEx.vo;

public class Emp {
    private int empno, deptno, sal;
    private String ename, job, hiredate;

    public int getDeptno() {
        return deptno;
    }
    public void setDeptno(int deptno) {
        this.deptno = deptno;
    }
    public int getEmpno() {
        return empno;
    }
    public void setEmpno(int empno) {
        this.empno = empno;
    }
    public String getEname() {
        return ename;
    }
    public void setEname(String ename) {
        this.ename = ename;
    }
    public String getHiredate() {
        return hiredate;
    }
    public void setHiredate(String hiredate) {
        this.hiredate = hiredate;
    }
    public String getJob() {
        return job;
    }
    public void setJob(String job) {
        this.job = job;
    }
    public int getSal() {
        return sal;
    }
    public void setSal(int sal) {
        this.sal = sal;
    }
}

EmpInter.java - 인터페이스

package daoEx.inter;

import java.util.List;
import daoEx.vo.Emp;

public interface EmpInter
{
    public List<Emp> getAllEmp();
}


EmpInterImpl.java

package daoEx.inter;

import com.ibatis.dao.client.DaoManager;
import com.ibatis.dao.client.template.SqlMapDaoTemplate;
import daoEx.vo.Emp;
import java.util.List;
/*
 * 1. DAO 환경에서 구현객체는 반드시 SqlMapDaoTemplate으로부터
 *     상속을 받아야 한다. 그리고
 * 2. DaoManager 객체를 인자로 받는 생성자 또한 정의 해야한다.
*/
public class EmpInterImpl extends SqlMapDaoTemplate implements EmpInter
{
// 생성자를 만들어준다. DaoManager 객체는 ibatis.dao가 가지고있는 클래스
    public EmpInterImpl(DaoManager daoManager)
    {
        super(daoManager);
    }
    public List<Emp> getAllEmp()
    {
        // config 디렉토리에 Emp.xml에 선언된 selectAllEmp 쿼리문을 리턴해준다.
        return queryForList("selectAllEmp");
    }
}


EmpClient.java

package daoEx.client;

import daoEx.inter.EmpInter;
import daoEx.vo.Emp;
import service.DaoService;

public class EmpClient
{
    public static void main(String[] arr)
    {
        // DaoService에 있는 getDao를 통하여 원하는 Dao(인터페이스)를 얻어낸다.
        EmpInter obj = (EmpInter) DaoService.getDao(EmpInter.class);
        for(Emp e : obj.getAllEmp())
        {
            System.out.println(e.getEmpno()+", "+e.getEname());
        }
    }
}


DaoService.java

package service;

import com.ibatis.common.resources.Resources;
import com.ibatis.dao.client.Dao;
import com.ibatis.dao.client.DaoManager;
import com.ibatis.dao.client.DaoManagerBuilder;
import java.io.Reader;

public class DaoService
{
    // 싱글턴 static 객체를 생성한다.
    private static DaoManager dm;

    public static Dao getDao(Class n)
    {
        try
        {
            if(dm == null)
            {// 최초 호출시 수행하는 부분. dm이 null값일경우 로드한다.
             // sqlMapConfig.xml 을 로딩하던 기존과 다르다.
                Reader reader = Resources.getResourceAsReader("config/dao.xml");
                dm = DaoManagerBuilder.buildDaoManager(reader);
             // implement된 객체들을 dm 객체에 담아둔다.
                reader.close();
            }
        } catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
        // DaoManager 클래스 안에 getDao() 메서드를 리턴해준다.
        return dm.getDao(n);
    }
}


------------------------- xml -------------------------

sqlMapConfig.xml

<?xml version="1.0" encoding="euc-kr"?>

<!DOCTYPE sqlMapConfig PUBLIC '-//ibatis.apache.org//DTD SQL Map Config 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-config-2.dtd'>
<sqlMapConfig>
    <transactionManager type="JDBC" commitRequired="false">
<!-- WEB 환경으로 할때는 대부분 JNDI 로 설정-->
        <dataSource type="SIMPLE">
            <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>
            <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@203.236.209.201:1521:orcl"/>
            <property name="JDBC.Username" value="scott"/>
            <property name="JDBC.Password" value="tiger"/>
        </dataSource>
    </transactionManager>

    <sqlMap resource="config/Emp.xml"/>
</sqlMapConfig>


Emp.xml

<?xml version="1.0" encoding="euc-kr"?>

<!DOCTYPE sqlMap PUBLIC '-//ibatis.apache.org//DTD SQL Map 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-2.dtd'>
<sqlMap>
    <typeAlias alias="empVo" type="daoEx.vo.Emp"/>

    <select id="selectAllEmp" resultClass="empVo">
        SELECT * FROM emp
    </select>
</sqlMap>

dao.xml

<?xml version="1.0" encoding="euc-kr"?>

<!DOCTYPE daoConfig PUBLIC '-//ibatis.apache.org//DTD DAO Configuration 2//EN' 'http://ibatis.apache.org/dtd/dao-2.dtd'>
<daoConfig>
    <context id="sqlMap">
        <!-- type="SQLMAP"은 지정된 타입 type="JDBC" 를 입력할경우 <datasource 를 사용할수 있다 -->
        <transactionManager type="SQLMAP">
        <!-- name="SqlMapConfigResource" 키값이므로 정확히 -->
            <property name="SqlMapConfigResource" value="config/sqlMapConfig.xml"/>
        </transactionManager>
        <dao interface="daoEx.inter.EmpInter" implementation="daoEx.inter.EmpInterImpl"/>
    </context>
</daoConfig>




 

11 21, 2008 01:05 11 21, 2008 01:05

Trackback URL : http://develop.sunshiny.co.kr/trackback/13

Leave a comment


## Oracle - 테스트 테이블 생성, 데이타 삽입
SQL 파일 내용

CREATE SEQUENCE memo_T_seq
increment by 1
start with 1
nomaxvalue
nocycle
cache 10;

CREATE SEQUENCE comment_T_seq
increment by 1
start with 1
nomaxvalue
nocycle
cache 10;

CREATE TABLE memo_T(
 idx NUMBER,
 subject VARCHAR2(50),
 name VARCHAR2(20),
 email VARCHAR2(50),
 w_day date,
 memo VARCHAR2(4000),
 CONSTRAINT memo_T PRIMARY KEY(idx)
);

CREATE TABLE comment_T(
 idx NUMBER,
 memo_idx NUMBER CONSTRAINT comment_fk REFERENCES memo_T (idx),
 name VARCHAR2(20),
 email VARCHAR2(50),
 w_day date,
 comm VARCHAR2(4000)
);

INSERT INTO memo_T VALUES(memo_T_seq.NEXTVAL,'test1','마루치','aaa@hanbiteni.co.kr','2008-11-18','테스트입니다.');
INSERT INTO memo_T VALUES(memo_T_seq.NEXTVAL,'내가 누구게~~?','아라치','bbb@hanbiteni.co.kr','2008-11-19','마루치 못 봤어요?.');
INSERT INTO memo_T VALUES(memo_T_seq.NEXTVAL,'세번째 테스트','파토나슈','papa@hanbiteni.co.kr','2008-11-19','파토나슈~~.');

INSERT INTO comment_T VALUES(comment_T_seq.NEXTVAL,2,'마루치','aaa@hanbiteni.co.kr','2008-11-18','몰라~! 알 수가 없어!!');
INSERT INTO comment_T VALUES(comment_T_seq.NEXTVAL,2,'파토나슈','papa@hanbiteni.co.kr','2008-11-19','파토! 깽판!');
INSERT INTO comment_T VALUES(comment_T_seq.NEXTVAL,1,'파토나슈','papa@hanbiteni.co.kr','2008-11-19','시워~ 시워^^');

Memo.java - POJO 객체

package memo.vo;

import java.util.List;

public class Memo {
    private int idx;
    private String subject, name, email, w_day, memo;
    private List<Comment> comments;
   
    public List<Comment> getComments() {
        return comments;
    }
    public void setComments(List<Comment> comments) {
        this.comments = comments;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public int getIdx() {
        return idx;
    }
    public void setIdx(int idx) {
        this.idx = idx;
    }
    public String getMemo() {
        return memo;
    }
    public void setMemo(String memo) {
        this.memo = memo;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSubject() {
        return subject;
    }
    public void setSubject(String subject) {
        this.subject = subject;
    }
    public String getW_day() {
        return w_day;
    }
    public void setW_day(String w_day) {
        this.w_day = w_day;
    }
}

Comment.java - POJO 객체

package memo.vo;

public class Comment {
    private int idx, memo_idx;
    private String c_name, c_email, c_w_day, comm;

    public String getC_email() {
        return c_email;
    }
    public void setC_email(String c_email) {
        this.c_email = c_email;
    }
    public String getC_name() {
        return c_name;
    }
    public void setC_name(String c_name) {
        this.c_name = c_name;
    }
    public String getC_w_day() {
        return c_w_day;
    }
    public void setC_w_day(String c_w_day) {
        this.c_w_day = c_w_day;
    }
    public String getComm() {
        return comm;
    }
    public void setComm(String comm) {
        this.comm = comm;
    }
    public int getIdx() {
        return idx;
    }
    public void setIdx(int idx) {
        this.idx = idx;
    }
    public int getMemo_idx() {
        return memo_idx;
    }
    public void setMemo_idx(int memo_idx) {
        this.memo_idx = memo_idx;
    }
}


sqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMapConfig PUBLIC '-//ibatis.apache.org//DTD SQL Map Config 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-config-2.dtd'>
<sqlMapConfig>
    <transactionManager type="JDBC" commitRequired="false">
        <dataSource type="SIMPLE">
            <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>
            <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@203.236.209.201:1521:orcl"/>
            <property name="JDBC.Username" value="scott"/>
            <property name="JDBC.Password" value="tiger"/>
        </dataSource>
    </transactionManager>
    <sqlMap resource="config/Memo.xml"/>
</sqlMapConfig>


Memo.xml(sqlMap)

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMap PUBLIC '-//ibatis.apache.org//DTD SQL Map 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-2.dtd'>
<sqlMap>
    <typeAlias alias="memo" type="memo.vo.Memo"/>
    <typeAlias alias="comment" type="memo.vo.Comment"/>

    <resultMap id="getComm" class="comment">
        <result property="idx" column="idx"/>
        <result property="memo_idx" column="memo_idx"/>
        <result property="c_name" column="name"/>
        <result property="c_email" column="email"/>
        <result property="c_w_day" column="w_day"/>
        <result property="comm" column="comm"/>
    </resultMap>
<!--
memo 클래스의 resultMap 를 만든다.
getMemo_comm 을 하지 않고
Comment.java 에는 getMemo에서 다 선언하지 않은 List 타입의 comments 컬럼이 있다.
-->
    <resultMap id="getMemo" class="memo">
        <result property="idx" column="idx"/>
        <result property="subject" column="subject"/>
        <result property="name" column="name"/>
        <result property="email" column="email"/>
        <result property="w_day" column="w_day"/>
        <result property="memo" column="memo"/>
    </resultMap>
<!--
getMemo_comm의 이름을 가진 resultMap 에서는 위의 getMemo 를 상속받는다.
자바에서와 같이 상속을 받아서 getMemo의 result로 선언한 컬럼을 모두 포함한다.
아래 getMemo_comm에서는 List 타입의 comments를 오버라이딩 하였다.
-->
    <resultMap id="getMemo_comm" class="memo" extends="getMemo">
        <result property="comments" select="getCommList" column="{memo_idx=idx}"/>
    </resultMap>

<!-- Comment -->
    <select id="getCommList" resultMap="getComm" parameterClass="comment">
        SELECT * FROM comment_T
        WHERE memo_idx = #memo_idx#
        ORDER BY memo_idx DESC
    </select>
<!-- Memo -->
    <select id="getMemoList" resultMap="getMemo_comm">
        SELECT * FROM memo_T
        ORDER BY idx DESC
    </select>
    </sqlMap>


MemoClient.java

package memo.client;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
import memo.vo.Comment;
import memo.vo.Memo;

public class MemoClient {
    public static void main(String[] arr)throws IOException, SQLException{
        Reader reader = Resources.getResourceAsReader("sqlMapConfig.xml");

        SqlMapClient map = SqlMapClientBuilder.buildSqlMapClient(reader);
        reader.close();

        List<Memo> list = map.queryForList("getMemoList");

        // Memo 타입의  m
        for(Memo m : list)
        {
            // 메인 글의 번호, 제목, 코멘트 개수가 출력되고
            System.out.println(m.getIdx()+" - "+m.getSubject()+"("+m.getComments().size()+")");
            for(Comment c : m.getComments())
            {   // 코멘트의 내용, 글쓴이 이름 이 출력된다.
                System.out.println(" -->"+c.getComm()+"("+c.getC_name()+")");
            }
        }
    }
}

11 20, 2008 01:29 11 20, 2008 01:29

Trackback URL : http://develop.sunshiny.co.kr/trackback/12

Leave a comment


## sqlMapConfig.xml 과 sqlMap.xml 설정내용 비교 ##
-- sqlMapConfig.xml --
<!DOCTYPE sqlMapConfig PUBLIC '-//ibatis.apache.org//DTD SQL Map Config 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-config-2.dtd'>

-- sqlMap.xml --
<!DOCTYPE sqlMap PUBLIC '-//ibatis.apache.org//DTD SQL Map 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-2.dtd'>

위와 같이 다르게 설정 해주어야함


------------------------------- sqlMapConfig.xml ------------------------------
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMapConfig PUBLIC '-//ibatis.apache.org//DTD SQL Map Config 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-config-2.dtd'>
<sqlMapConfig>
    <transactionManager type="JDBC" commitRequired="false" >
        <!--        // SIMPLE - 기본  -->
        <dataSource type="SIMPLE">
            <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>
            <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@192.168.106.129:1521:ora9i"/>
            <property name="JDBC.Username" value="scott"/>
            <property name="JDBC.Password" value="tiger"/>
        </dataSource>
    </transactionManager>

<!--
    <sqlMap   /> 을 이용하여 여러개의 쿼리문이 담긴 xml 파일을 읽어들임
    이곳에 <sqlMap   />을 계속 추가를 하게됨       
-->
   

<sqlMap resource="ex2/client/DeptJoinEmp.xml"/>


</sqlMapConfig>


------------------------------- DeptJoinEmp.xml ------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMap PUBLIC '-//ibatis.apache.org//DTD SQL Map 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-2.dtd'>
<sqlMap>
    <typeAlias alias="dept" type="ex2.vo.Dept"/>
    <typeAlias alias="emp" type="ex2.vo.Emp"/>

    <resultMap id="empRes" class="emp">
        <result property="deptno" column="deptno"/>
        <result property="ename" column="ename"/>
        <result property="job" column="job"/>
    </resultMap>

    <resultMap id="deptRes" class="dept">
        <result property="deptno" column="deptno"/>
        <result property="dname" column="dname"/>
<!--
    emp_list는 List 객체
    {deptno(멤버변수) = deptno(column)}
-->
        <result property="emp_list" column="{deptno=deptno}" select="emp_select"/>
    </resultMap>

<!--
parameterClass="emp" 객체를 호출하는거는 객체 안의 deptno 변수를 찾아서 넘겨준다.
-->

    <select id="emp_select" resultMap="empRes" parameterClass="emp">
        SELECT * FROM emp WHERE deptno = #deptno#
    </select>
    <select id="dept_select" resultMap="deptRes">
        SELECT * FROM dept
    </select>

</sqlMap>


------------------------------- Dept.java ------------------------------
// POJO 빈
package ex2.vo;

import java.util.List;

public class Dept {
    private int deptno;
    private String dname;
 // 현재 부서의 구성원(Emp)들을 저장할 곳
    List<Emp> emp_list;
   
    public int getDeptno() {
        return deptno;
    }

    public void setDeptno(int deptno) {
        this.deptno = deptno;
    }

    public String getDname() {
        return dname;
    }

    public void setDname(String dname) {
        this.dname = dname;
    }

    public List<Emp> getEmp_list() {
        return emp_list;
    }

    public void setEmp_list(List<Emp> emp_list) {
        this.emp_list = emp_list;
    }

}

------------------------------- Emp.java ------------------------------
// POJO 빈
package ex2.vo;

public class Emp {
    private int deptno; // 조건 값
    private String ename, job;

    public int getDeptno() {
        return deptno;
    }

    public void setDeptno(int deptno) {
        this.deptno = deptno;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }
}

------------------------------- DeptJoinEmp.java ------------------------------
// main 클래스 파일
package ex2.client;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import ex2.vo.Dept;
import ex2.vo.Emp;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;

public class DeptJoinClient {
    public static void main(String[] args) throws IOException, SQLException{
        Reader reader = Resources.getResourceAsReader("sqlMapConfig.xml");

        SqlMapClient map = SqlMapClientBuilder.buildSqlMapClient(reader);
        reader.close();

        List<Dept> list = map.queryForList("dept_select");

        for(Dept d : list){
         // 해당 부서에 존재하는 사원들의 정보
            List<Emp> e_list = d.getEmp_list();
            System.out.println(d.getDname()+"-"+d.getDeptno()+"("+e_list.size()+")");
           
            for(Emp e : e_list){
                System.out.println(" --> "+ e.getEname()+"("+e.getJob()+")");
            }
        }
    }
}

----------------------------------- 결과 값 ----------------------------------------
ACCOUNTING-10(3)
 --> CLARK(MANAGER)
 --> KING(PRESIDENT)
 --> MILLER(CLERK)
RESEARCH-20(5)
 --> SMITH(CLERK)
 --> JONES(MANAGER)
 --> SCOTT(ANALYST)
 --> ADAMS(CLERK)
 --> FORD(ANALYST)
SALES-30(6)
 --> ALLEN(SALESMAN)
 --> WARD(SALESMAN)
 --> MARTIN(SALESMAN)
 --> BLAKE(MANAGER)
 --> TURNER(SALESMAN)
 --> JAMES(CLERK)
OPERATIONS-40(0)



11 19, 2008 10:57 11 19, 2008 10:57

Trackback URL : http://develop.sunshiny.co.kr/trackback/8

Leave a comment


### iBATIS 프레임웍을 사용하기 위해 Libraries 와 ojdbc14.jar 파일이 있어야 함. ###
iBATIS - Download
- http://ibatis.apache.org/javadownloads.cgi


------------------------ Emp.java : POJO Bean ------------------------

package ex1.vo;

public class Emp {
    private String ename, job, hiredate, deptno;
    private int empno;

    public String getDeptno() {
        return deptno;
    }

    public void setDeptno(String deptno) {
        this.deptno = deptno;
    }

    public int getEmpno() {
        return empno;
    }

    public void setEmpno(int empno) {
        this.empno = empno;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public String getHiredate() {
        return hiredate;
    }

    public void setHiredate(String hiredate) {
        this.hiredate = hiredate;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }
}


------------------------ sqlMapConfig.xml -----------------------

<?xml version="1.0" encoding="UTF-8"?>

### 아래 dtd 로드 중요부분 ###
<!DOCTYPE sqlMapConfig PUBLIC '-//ibatis.apache.org//DTD SQL Map Config 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-config-2.dtd'>
<sqlMapConfig>
    <transactionManager type="JDBC" commitRequired="false" >
<!--        // SIMPLE - 기본  -->
        <dataSource type="SIMPLE">
            <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>
            <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@192.168.2.22:1521:ora9i"/>
            <property name="JDBC.Username" value="scott"/>
            <property name="JDBC.Password" value="tiger"/>
        </dataSource>
    </transactionManager>

<!-- 해당하는 패키지에 Emp.xml파일이 존재해야함 -->
    <sqlMap resource="ex1/Emp.xml"/>
</sqlMapConfig>


------------------------ Emp.xml ------------------------

<?xml version="1.0" encoding="UTF-8"?>

### 아래 dtd 로드 중요부분 sqlMapConfig 와 다른점 config 문구가 빠짐 ###

<!DOCTYPE sqlMap PUBLIC '-//ibatis.apache.org//DTD SQL Map 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-2.dtd'>
<sqlMap>
<!--  <typeAlias alias="emp" type="ex1.vo.Emp"/> Alias 를 이용하여 아래 resultClass 부분을 대체 할수 있슴  -->
    <select id="selectAll" resultClass="ex1.vo.Emp">
        SELECT * FROM emp
    </select>

<!-- 10번 부서에 해당하는 값을 가져와라 -->
    <select id="selectDeptno" parameterClass="int" resultClass="ex1.vo.Emp">
        SELECT * FROM emp WHERE DEPTNO = #no#
    </select>

</sqlMap>


------------------------ EmpClient.java ------------------------

package ex1;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import ex1.vo.Emp;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;

public class EmpClient
{
    public static void main(String[] arr)throws IOException, SQLException
    {
        // 환경설정 파일 인식
        Reader reader = Resources.getResourceAsReader("sqlMapConfig.xml");

        // sqlMap 객체들 가져오기
        SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);

        // 결과 받기
        List<Emp> list = sqlmap.queryForList("selectAll");

       for(Emp e : list)
       {
            System.out.println(
                    e.getEmpno()+","+
                    e.getEname()+","+e.getDeptno()+","+
                    e.getJob());
        }
        reader.close();

        // 인자 값이 있는 결과 받기
       list = sqlmap.queryForList("selectDeptno", 10);

       System.out.println("------ 10번 부서만 가져와라 ------");
       for(Emp e : list)
       {
            System.out.println(
                    e.getEmpno()+","+
                    e.getEname()+","+e.getDeptno()+","+
                    e.getJob());
        }
        reader.close();
    }
}
11 19, 2008 09:21 11 19, 2008 09:21

Trackback URL : http://develop.sunshiny.co.kr/trackback/4

Leave a comment


Recent Posts

  1. Linux - Telnet 서비스 비활성및 실행
  2. NT - 서버 원격데스크탑 연결
  3. NT - http와 https간에 세션 공유가...
  4. Unix - 대량 파일 이동, 삭제시 Argu...
  5. Oracle - SYS_CONTEXT 함수를 이용하...

Recent Comments

  1. 네. 고맙습니다^^ 행복한 한해 보... sunshiny 01 16,
  2. sunshiny님. 안녕하세요... 올려 주... yihans 01 16,
  3. 답글 주셔서 고맙습니다^^ 소스 복... sunshiny 01 11,
  4. 관리자만 볼 수 있는 댓글입니다. 비밀방문자 01 11,
  5. 넵 답변감사합니다^^ 좋은 하루 되... 노로링

Recent Trackbacks

  1. 윈도우 cmd 명령어 팁 월풍도원(月風道院) - Delight on th... %M
  2. 파일 압축 Like RadioHead %M
  3. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   02 2012   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. Oracle All Documentation
  4. 엑셈
  5. 오라클 클럽
  6. 네이버개발자센터
  7. API - Java
  8. API - Spring
  9. Java Community
  10. Reference - Spring
  11. 스프링사용자
  12. 자바지기
  13. Ready System
  14. Solaris Freeware
  15. Linux-Site
  16. RedHat Korea
  17. 윈디하나의 솔라나라

Site Stats

TOTAL 217715 HIT
TODAY 17 HIT
YESTERDAY 115 HIT