728x90
반응형

1. 유닉스 명령어

 vi 파일명 : (vi editor 적용할) 파일생성

 rm 파일명 : 파일삭제

 ls : 파일목록 보여주기

 ls -a : 모든 파일 보여주기(확장자까지 모두 보여줌)

 

 mkdir 디렉토리명 : 디렉토리 만들기

 rmdir 디렉토리명 : 디렉토리 삭제

 pwd : 현재 디렉토리 위치 보여줌

 cd 디렉토리명 : 하위 디렉토리로 이동

 cd .. : 상위 디렉토리로 이동

 

2. vi editor 명령어

 esc : 명령모드로 전환

 (명령모드에서)

 i : 커서위치에서 편집모드로 전환

 a : 커서위치 다음에서 편집모드로 전환

 h, j, k, l : 왼쪽으로, 아래로, 위로, 오른쪽으로

 x : 커서가 가리키는 문자 하나를 삭제

 dd : 커서가 있는 한 줄을 삭제

 5dd : 커서가 있는 행부터 5개의 라인을 삭제

 yy : 커서가 있는 한 줄을 복사 (Ctrl + C)

 p : yy로 복사하거나 dd로 삭제한 내용을 붙여넣기(삭제한 행의 경우 한번의 작업만 기억)

 

 w : 단어마다 커서를 오른쪽으로 이동

 b : 단어마다 커서를 왼쪽으로 이동

 enter : 한 줄씩 이동

 

 Ctrl + f : pagedown

 Ctrl + b : pageup

 

 setnu : 행번호 표시

 setnonu : 행번호 숨기기

 

 /검색할 문자열/ : 문자열 검색

 n : 문자열 검색 후 다음 문자열 계속 검색

 N : 이전 문자열 검색

 

 :w  -  저장

 :wq  - 저장 후 종료

 :w 파일명  - 다른 이름으로 저장 ( :sav 파일명 )

 :q!  - 저장하지 않고 종료

 

728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

HashMap<k,v>  (0) 2013.09.12
리눅스 명령어  (0) 2013.09.11
스프링에서 로그 찍기 slf4j  (0) 2013.09.11
ibatis 설정  (0) 2013.09.11
Math.ceil  (0) 2013.09.10
728x90
반응형

//log를 찍기위해
 private static final Logger logger = LoggerFactory.getLogger(해당클래스이름.class);

logger.info(""+찍고싶은거);

ex>

  logger.info(""+boardPage.getStartRow());
  logger.info(""+boardPage.getEndRow());

--------------------

consol...

INFO : com.spring.board.BoardController - 1
INFO : com.spring.board.BoardController - 10

요케 나온다.

어랏 글씨 두께가 두꺼워짐 ctrl+b 단축기였네..ㅋㅋ

728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

리눅스 명령어  (0) 2013.09.11
UNIX vi명령어  (0) 2013.09.11
ibatis 설정  (0) 2013.09.11
Math.ceil  (0) 2013.09.10
오라클 rownum 을 이용한 페이징 처리 기초  (0) 2013.09.10
728x90
반응형

 com.ibatis.common.jdbc.exception.NestedSQLException

- sql은 문제가 없다.. 휴

*check 항목

-sql 문에서 세미콜론(;) 있는지,,

-배열로 값을 넘겨서 (,)구분자로 구분이 되서 값에 대입되는지..

-주석사이에 스페이스를 넣어라 ex/ <!-- 테스트 --> /* 테스트 */

 (    쿼리를 생성할때 Oracle의 일반적인 주석은  '--'를 사용한다. 하지만

ibatis 는 /* */ 이다 )

728x90
반응형
728x90
반응형

아이바티스(iBATIS) 도입 이유

ibatis 또는 Data Mapper 라고 한다.

java에서 Object를 사용함에 있어서, getXXX, setXXX 로의 접근은

사용법과 유지보수 측면에서 이미 standard 로 여겨지고 있다.

ibatis는 상당한 코딩의 축소로 인해 개발자로 하여금 지겨운 노가다에서 해방하게 해준다.

*spring app-servlet.xml 에 추가

<bean id="ibatisdao" class="member.dao.MemberIbatisDaoImpl"/>

 

*memberMapper.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>

<!-- MemberDTO 클래스를 풀네임으로 안하고 이러한 별칭으로 부르겠다라고 정의

DB로부터 가져온 데이터를 저장할 객체를 지정하는 것을 의미

<typeAlias alia="memberDTO" type="member.dto.MemberDTO"/>

<!-- DB로부터 가져온 데이터를 클래스에 옮겨담기 위한 설정 Property는

멤버변수를 의미하고 column은 테이블의 필드명을 의미

컬럼명과 클래스의 멤버변수명이 동일하면 지정할 필요 없고 생략이 가능

id는 식별자, class는 위에 typeAlias에서 지정한 alias명

<resultMap id="memberResult" class="memberDTO">

<result property="id" column="id" />

<result property="password" column="password" />

...

</resultMap>

<!-- DB에 전달할내용을 의미. DB연동하는 모든 작업에 대해서 이렇게 작성하면

이것을 자바코드에서 불러서 쓸 수 있도록 객체를 생성하는 작업을별도로 해야한다.

select 태그 안에 적은 sql문의 수행결과를 resultMap에 넘겨주겠다는 의미

<select id="getMemberList" resultMap="memberResult">

select * from member

</select>

</sqlMap>

 

*SqlMapConfig.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">

<sqlMapConfig>

<transactionManager type="JDBC" commitRequired="false">

<dataSource type="SIMPLE">

<property name="JDBC.Driver" value="oracle.-

<property name ="JDBC.ConnectionURL" -

"JDBC.Username, Password -

</dataSource>

</transactionManager>

<!-- 또다른 설정파일을 연결해서 사용할 수 있고 실제 일처리를 담당하도록 쿼리를

담고 있는 설정파일의 경로를 지정한다.

이는 스프링의 import와 비슷한 기능으로 resource의 패키지명을 . 이 아니라 / 로 표현한다.

<sqlMap resource="member/ibatis/memberMapper.xml"/>

<!-- List more here..

<sqlMap resource="com/spring/data/Order.xml"/>

<sqlMap resource="com/spring/data/Documents.xml"/>

</sqlMapConfig>

 

*클래스 파일 MemberIbatisManager.java

public class MemberIbatisManager {

//memberMapper.xml 파일에서 작업한 것을 자바코드로 연결시키기 위해서 사용하는객체

private static SqlMapClients sqlMapper;

//sqlMapConfig.xml 를 input하고 있고 이 객체를 통해서 memberMapper.xml 파일에 접근가능

Reader reader = Resources.getResourceAsReader("member/ibatis/SqlMapConfig.xml");

sqlMapper=SqlMapClientBuilder.buildSqlMapClient(reader);

reader.close();

----

public static List getMemberList() {

List list = null;

list=sqlMapper.queryForList("getMemberList");

return list;

}

}

... try - catch 감싸는부분 생략함.

728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

UNIX vi명령어  (0) 2013.09.11
스프링에서 로그 찍기 slf4j  (0) 2013.09.11
Math.ceil  (0) 2013.09.10
오라클 rownum 을 이용한 페이징 처리 기초  (0) 2013.09.10
오라클 시퀀스 및 날짜 예약어  (0) 2013.09.10
728x90
반응형

boardServiceImpl, boardDao 의존성 주입시 인식할수 없다는 오류 메시지가 떳다.

스프링 2.5에서는 root-context.xml 에

<!-- service 자동빈주입 -->
 <!-- <context:component-scan base-package="com.spring.board.service"></context:component-scan>
  --><!-- dao **참고 BoardDao는 인터페이스이므로 주입이 안된다는것 -> BoardDaoImpl로 주입시킴-->
 <!-- <bean id="boardDao" class="com.spring.board.dao.BoardDaoImpl"/>
  -->

이렇게 빈을 수동으로 주입시켜야 했으나,,

스프링 3.0세대부터는

직접 빈으로 등록해야할 클래스 파일에 @Service , @Repository 에노테이션을 통해서

/WEB-INF/spring/servlet-context.xml의

<!-- Enables the Spring MVC @Controller programming model -->
 <annotation-driven />

<context:component-scan base-package="com.spring.board" />

이 자동으로 주입해 줌으로써

root-context.xml 에 재차 빈을 주입안해도 된다. 이걸 모르고 주입을 했다면 중복 빈 생성에 따른 인식 오류 메시지가 뜨는 것이었다. 그래서 주석처리 했더니 해결!!!

 

728x90
반응형

+ Recent posts