본문 바로가기

[SPRING] log4sql을 이용한 쿼리 로그 출력 1.라이브러리를 다운받는다. https://sourceforge.net/projects/log4sql/files/ Properties -> Java Build Path 에서 라이브러리 추가 3.사용자의 데이터베이스에 맞는 드라이버를 찾아 적용한다. http://log4sql.sourceforge.net/ 에 접속한 후 Usage에 들어가 확인 ※디비 종류에 따른 log4sql을 적용하기 위한 드라이버 클래스 JDBC TYPE Origin Your Driver Class -> log4sql Driver Class [ORACLE DRIVER CLASS] oracle.jdbc.drirver.OracleDriver -> core.log.jdbc.driver.OracleDriver [MYSQL DRIVER CLA.. 더보기
[SPRING] 마리아(Maria)DB연동 및 Mybatis 설정하기 ※ 순서 1. pom.xml에 관련 라이브러리 추가하기 2. root-context.xml에 bean 설정하기 3. mybatis관련 config파일과 쿼리가 작성될 파일 생성하기 4. DB가 연동이 됐는지 테스트 하기 ※ 구조 프로젝트의 구조는 아래와 같다. ※ 상세설명 1. pom.xml에 관련 라이브러리 추가하기 라이브러리는 안에 추가해준다. pom.xml org.mariadb.jdbc mariadb-java-client 2.0.3 commons-dbcp commons-dbcp 1.4 org.springframework spring-jdbc 4.3.9.RELEASE org.mybatis mybatis 3.4.4 org.mybatis mybatis-spring 1.3.1 2. root-context... 더보기
[SPRING & GIT] 이클립스 / 스프링 프로젝트 GitHub(깃허브)와 연동하기 1) 깃허브 홈페이지에 들어가 이클립스의 프로젝트와 연동하기 위한 repository를 생성한다. 2) 이클립스를 실행한 후 아래 버튼을 누른다. 3) Clone a Git repository를 클릭한다. 4) Clone a Git repository를 누르면 개인 깃허브의 URI와 깃허브의 아이디와 비번을 입력하는 창이 나온다. 알맞게 입력하여 PC의 깃과 깃허브에 만든 repository와 연결한다. 5) Packge Explorer로 돌아가서 프로젝트 마우스 우클릭 -> Team -> Share Project 클릭 -> 프로젝트와 PC의 Git과 연결해준다. 6) Commit과 Push를 해서 깃허브의 repository에 프로젝트를 올린다. 더보기
[SPRING] DispatcherServlet에 관하여... ※ DispatcherServlet 이란? 프론트 컨트롤러(Front Controller) 이다. Servlet 컨테이너에서 HTTP 프로토콜을 통해 들어오는 모든 요청을 제일앞에서 처리할 수 있는 컨트롤러. ※ 동작 방식 자바 서버의 서블릿 컨테이너의 요청이 들어오면 DispatcherServlet이 해당 요청을 받는다. DispatcherServlet은 URL, 파라미터 정보, HTTP 명령 등을 참고하여 HandlerMapping를 통해 어떤 컨트롤러에게 보낼지 결정된다. DispatcherServlet이 모든 웹 요청 정보가 담긴 HttpServletRequest 타입의 오브젝트를 핸들러 어댑터에게 전달하면 핸들러 어댑터는컨트롤러가 받을 수 있는 파라미터로 적절히 변환하여 해당 컨트롤러에게 전달해.. 더보기
[SPRING] web.xml , root-context.xml , servlet-context.xml 에 관하여... 1) web.xml 설정을 위한 설정파일이다. 배포 기술자로써 영어로는 DD(Deployment Descriptor) 이다. 이 파일은 WAS(Web Application Server)가 최초 구동될 때 즉 톰켓이 최초 구동될 때 web.xml을 읽고 그에 해당하는 설정을 구성한다. 즉 각종 설정을 위한 설정파일이라고 할 수 있다. - 루트 컨텍스트로 모든 서블릿과 필터들이 공유함. root-context.xml을 정의 contextConfigLocation /WEB-INF/spring/root-context.xml - 리스너로써 루트 컨텍스트에 정의 되어있는 것들을 모든 서블릿과 필터가 공유할 수 있게 해준다고 함. org.springframework.web.context.ContextLoaderLis.. 더보기
[SPRING] 스프링 기본 프로젝트 파일 분석 1) src/main/java는 소스 코드가 모여있는 디렉토리. 2) src/main/resources는 스프링 설정파일이나 쿼리가 저장될 디렉토리 3) servlet-context.xml, root-context.xml 파일은 서블릿 관련 설정파일이다. 4) webapp 폴더 밑에는 jsp 및 js 등의 파일, 그외에 resource파일 등이 저장된다. src/main/webapp는 메이븐의 기본폴더 이다. 5) web.xml는 배포 기술자로써 영어로는 DD(Deployment Descriptor) 이다. 이 파일은 WAS(Web Application Server)가 최초 구동될 때 즉 톰켓이 최초 구동될 때 web.xml을 읽고 그에 해당하는 설정을 구성한다. 즉 각종 설정을 위한 설정파일이라고 할 .. 더보기
[안드로이드] 캔버스를 이용한 원형차트 만들기 위와같이 성공한 만큼 빨간색으로 표시해 주는 원형 그래프를 캔버스를 이용해 만들려고 한다. public class CircleChart extends View { ArrayList writing; int x; int y; public CircleChart(Context context, ArrayList writing, int x, int y ) { super(context); this.writing = writing; this.x=x; this.y=y; } @Override public void onDraw(Canvas canvas) { //drawArc를 이용하면 오른쪽이 0도가 된다. 난 가장 윗부분을 0도로 보았기 때문에 -90도를 해주었다. final float START_POINT = -90f;.. 더보기
[안드로이드] 알람 및 알람 리시버 구현/ 특정 시간, 특정 요일에 울리게 하는 알람 ※ 재미로 만든 첫 어플의 기능 중 알람 시계 어플 처럼 지정한 요일에 지정한 시간에 알람을 울리게 하는 기능이 필요했다. 소스는 다음과 같다. 1.소스 코드 내에 알람을 설정하는 코드를 생성 setAlarm() 함수와 cancelAlarm()함수 구현 public void setAlarm(){ Intent intent = new Intent(context, AlarmReceiver.class); intent.putExtra("no", alarmIdx); AlarmManager alarmManager = (AlarmManager)context.getSystemService(ALARM_SERVICE); PendingIntent pendingIntent = PendingIntent.getBroadcast(c.. 더보기
[오라클] SQL Plus를 이용한 대용량 데이터 export 이번에 일을 하면서 천만건이 넘는 자료를 임포트와 익스포트하다 보니 툴에서 지원하는 기능으로는 한계가 있었다. 그래서 export 는 sqlplus 를 이용하고 import는 sqlloader를 이용하여 작업하였다. sqlloader는 아래 글에 남겨놨으므로 생략한다. SQL PLUS를 이용하면 많은 양의 데이터를 익스포트 할때 유용하다. 사용법은 아래와 같다. ※ SQL PLUS 사용법 확장자가 sql인 파일을 만든다. cmd창에서 SQL Plus를 실행한다. ※ 상세방법 확장자가 sql인 파일을 만든다 . SPOOL 명령으로 테이블의 데이터를 파일로 출력하는 방법을 사용한다. 아래와 같은 옵션을 주고 확장자가 sql인 파일을 만든다 SET ECHO OFF // 실행하는 SQL문을 출력하지 않는다. S.. 더보기
[오라클] SQL Loader 사용법 (.dat파일을 DB에 임포트 해보자) 이번에 엄청난 데이터를 받았다... 몇백만 건이 넘는 .dat파일 세개... 이럴때 바로 SQL Loader를 쓰면 엄청난 양의 데이터, 그리고 .dat확장자를 가진 데이터를 빠르고 쉽게 테이블에 삽입할 수 있다. ※ SQL Loader 사용법 데이터를 임포트할 테이블을 생성한다. 컨트롤 파일을 만든다. cmd창에서 SQL Loader를 실행한다. ※ 상세방법 데이터를 임포트할 테이블을 생성한다. - 생략 컨트롤 파일을 만든다. - SQL Loader를 사용하기 위해서는 컨트롤 파일이란것이 필요하다. 컨트롤 파일은 데이터 임포트를 하기위한 일종의 설정파일이다. 메모장에 작성한 후 확장자를 .ctl로 저장하자. ctl 파일 내용은 아래와 같다. options(skip =1) load data infile .. 더보기
데이터베이스 유저 생성 및 DBA 권한주기 1.유저생성 create user USERID identified by PW defualt tablespace users temporary tablespace temp; 2.DBA 권한주기 grant dba to USERID 더보기
NOT IN의 함정... 조건은 맞는데 데이터가 안나올때.. 문제의 쿼리... SELECT * FROM TABLE_NAMEWHERE UPPER_CODE NOT IN ( SELECT UPPER_CODE FROM TABLE_NAME) 이런식으로 두 UPPER_CODE라는 항목을 비교했는데 데이터를 일일이 비교해보고 조건이 맞는데도 IN은 정상적으로 데이터가 나오는데 NOT IN 은 정상적으로 데이터가 나오지 않는것이었다. (아애 데이터가 나오지 않았다) 왜그런고 하니 NOTIN 괄호 안에 결과값에 NULL이 있었기 때문이다... SELECT * FROM TABLE_NAMEWHERE UPPER_CODE NOT IN ( SELECT UPPER_CODE FROM TABLE_NAME WHERE UPPER_CODE IS NOT NULL) 그래서 결국은 위와 같이 IS NOT .. 더보기