'분류 전체보기'에 해당되는 글 256건

  1. 2007.02.07 [mysql] mysql DB접속해서 ERD 그리기 6
  2. 2007.02.06 LINK절에 PreparedStatement 사용
  3. 2007.02.06 [sample] JDBC 연결 (tomcat / datasource)
  4. 2007.02.06 [sample] JDBC TEST
  5. 2007.02.06 [sample] 난수발생기
  6. 2007.02.05 [sample] System.arraycopy() 부분복사
  7. 2007.02.05 URL만을 가지고 화면 캡춰하기
  8. 2007.02.05 화면펌질을 다소 어렵게 하기를 뚷고 펌질하기
  9. 2007.02.05 [sample] request 강제 한글 Setting... 1
  10. 2007.02.05 [sample] session JSP 1

고급 개발자라 하더라도 DB에서 ERD를 보지 않고 처음 접근하는것은
영~ 찜찜한게 아닐 수 없다.
민들민들한 desc tablename 만으로는 답답함을 한꺼번에 해결하기는 곤란하다.
이러한 애타는점을 해결 하기위해 ERD라는게 있지만 mySQL에 있을까?
만약 그런게 있다면 그것도 Free로 있다면 찾아보자! 라는 심정으로 찾아보니
들었던 생각만큼이나 유용한 도구가 있었다. (DBdesigner)
었비슷하게 나마 사용의 ERD만큼이나 괜찮은 Tool을 소개한다.
다함께 으라차차^^ 즐거운 개발 되어보아요..


1. FREE 프로그램 다운로드 :
http://www.fabforce.net/dbdesigner4/features.php
2. 설치
   
          설치 언어를 묻는 부분 (영어 권장)
사용자 삽입 이미지

설치 step 01


         이용약관 동의
사용자 삽입 이미지

설치 step 02


        프로그램  설치 경로 지정
사용자 삽입 이미지

설치 step 03


         접속을 원하는 타입 (all check권장)
사용자 삽입 이미지

설치 step 04


         아이콘 생성에 대한 선택 여부
사용자 삽입 이미지

설치 step 05


        설치를 위한 이제 준비~~~
사용자 삽입 이미지

설치 step 06


         설치 진행중
사용자 삽입 이미지

설치 step 07


         설치 완료
사용자 삽입 이미지

설치 step 08

 
         설치 완료후 바탕화면에 활성화된 아이콘
사용자 삽입 이미지

설치완료후 바탕화면에 표시됨 (fabface..)



3. DB접속 (neouser/즐거운개발)
    - DB접속 당시 mySQL에 직접 연결되지 않는다면 ODBC로 접근하길 권장한다.
       > 드라이버 다운로드 :
http://dev.mysql.com/downloads/connector/odbc/3.51.html
       > mySQL 버전에 따라 접근이 안될 수도 있다.
         이에 대한 우회책으로 mysql ODBC 드라이버를 다운받아 설치하기 바란다.    


4. ODBC 설정
     ODBC 설정은 windows 프로그램에 대해 잘 알겠지만 그래도 적어두는것은
     혹! 모를 사용자를 위해서 적어봅니다.. (바로 내가 아닐까.. 휴~~)
사용자 삽입 이미지

ODBC 설정 화면 01

     드라이버 선택 (본 드라이버는 설치작업을 해야만 나타납니다.)
사용자 삽입 이미지

설치된 mySQL 드라이버 선택

    DB정보 입력
사용자 삽입 이미지

mysql 정보 입력을 위한 화면

     DB정보 입력!!
사용자 삽입 이미지

정보 입력


    입력이 완료되면 그림같이 ODBC 드라이버가 뜹니다.
사용자 삽입 이미지

입력완료!! test 확인


 
  5. DB접근해서 ERD 그리기

     새로운 연결 시도  
사용자 삽입 이미지

메뉴에서 해당 서비스 클릭


   DB 연결정보 입력
사용자 삽입 이미지

ODBC 연결정보 입력


   Revers Engineering 수행
사용자 삽입 이미지

Revers Engineering 수행


 
사용자 삽입 이미지

Revers Engineering 가동!!


결과 확인
사용자 삽입 이미지

결과 확인



위와같은 ERD는 연결관계가 빠져있는데
이것은 다소 아쉬운 점이라 할 수 있다.
하지만 이정도의 ERD도 mysql을 위해 지원되는 programe이 있다는게 어디인가 ^^

모두들 즐거운 개발이 되었으면 좋겠습니다.




LIKE 절에서 PreparedStatement 사용하기 입니다.

SELECT COMPANYNAME FROM TABLE_NAME WHERE COMPANYNAME LIKE '%'||?||'%' ORDER BY COMPANYNAME

● tomcat server.xml
--------------------------------------------------------------------
<Context path="/neouser" docBase="neouser"
debug="5" reloadable="false" crossContext="true">
<Resource name="jdbc/SampleDS" auth="Container" type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/SampleDS">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>5</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>

<parameter>
<name>username</name>
<value>sample</value>
</parameter>
<parameter>
<name>password</name>
<value>samplepwd</value>
</parameter>

<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>

<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/sample</value>

 

● ConnectionManager.java
--------------------------------------------------------------------
import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class ConnectionManager {
    protected static final Log logger = LogFactory.getLog(ConnectionManager.class);

    public static Connection getConnection() {
        try {
            Context ctx = new InitialContext();
            // Tomcat Server에서 DataSource를 Lookup
            DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/sampleDS");

            return ds.getConnection();
         } catch (NamingException e) {
              if (logger.isErrorEnabled()) {
                 logger.error(e.getMessage(), e);
             }
             throw new DBNotConnectedException(e.getMessage(), e);
         } catch (SQLException e) {
              if (logger.isErrorEnabled()) {
                 logger.error(e.getMessage(), e);
             }
             throw new DBNotConnectedException(e.getMessage(), e);
         }
     }
}


was의 사용이 이런것을 가능케 하죠.
이런류의 방법도 이제 고전이 되어버렸지만 그래도 유사방법을 만들어 내기기에는
가장 좋은것 같다.


 

package test.jdbc;

import java.sql.*;

public class DriverTest {
    public static void main(String args[]){
    //데이터베이스 접속 연결 정보를 가지고 있는 객체입니다.
    Connection con;

    try{
        //JDBC드라이버를 로딩합니다.
        Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

        //데이터베이스에 연결을 합니다. Oracle Server IP:Port:SID 계정명 패스워드
        con=DriverManager.getConnection   ("jdbc:oracle:thin:@127.0.0.1:1521:ora9","neouser","neouser");

        System.out.println("데이터 베이스 접속이 성공했습니다.");
    }catch(SQLException ex){
        System.out.println("SQLException:"+ex);
    }catch(Exception ex){
       System.out.println("Exception:"+ex.toString());
    }
  }
}


JDBC TEST입니다.
간단하지만 역시 찾으려들면 잘 안보이는 소스이죠 ^^


 

Random rd = new Random();
rd.nextInt(10);

10까지의 난수를발생시킨다.
이것 외에도

Math.random()* 10 도 방법이지만
이때의 경우 retrun이 double에 해당한다.



public class ArrayCopyMain {
  public static void main( String[] args ) {
    int[] source = new int[] { 5, 4, 6, 9, 7, 9 };
    int[] target = { 100, 200, 300, 400, 500, 600, 700 };

    // source의 2번째 첨자부터 4개를 target의 3번째 첨자부터 복사
    System.arraycopy( source, 2, target, 3, 4 );
    for ( int i = 0; i < target.length; i++ ) {
      System.out.println( "target[" + i + "]: " + target[i] );
    }
  }
}


// output
target[0]: 100
target[1]: 200
target[2]: 300
target[3]: 6
target[4]: 9
target[5]: 7
target[6]: 9

하나의 객체만을 가지고 저렇게 쉽게 복사할 수 있다. (로직한줄도 간과하면 안되요..)

불여우(Firefox)를 이용한 방법입니다. 일단, 당근 불여우가 설치되어 있어야 하며, Pearl Crescent Page Saver 라는 확장이 같이 필요합니다. Pro 버전은 유료고 무료인 Basic 버전을 설치하고, 옵션을 적당히 설정한 다음, 명령행에서 아래와 같이 실행해 이미지를 생성할 수 있습니다.

firefox -savepng http://www.mozilla.org/
firefox -savepng http://www.mozilla.com/ -savedelay 1000


windows 콘솔용으로 제작된 캡춰입니다.
http://loser.miniwini.com/wp/archives/1166

이보다 더 좋은것을 더 찾아보렵니다.
도구 > 인터넷 옵션 > 보안 > 사용자 지정 수준 > Active 스크립팅

해당 옵션을"사용안함" 으로 표시하도록 합니다.


바로 이것에 대한 대항마로 볼수 있죠.
http://neouser.tistory.com/25

역시 창과 방패의 논리가 통용되는군요 ^^
request.setCharacterEncoding("euc-kr");


간단하지만 역시 찾으면 잘 안보이죠.
1번 페이지] (index.jsp)
session생성 test
id [ neouser ] 확인
--------------------------------------------------------------------
[2번 페이지] (test1.jsp)
새로운 세션이 생성되었습니다.
세션ID : ALSJFLAJFLJASDLKJF
세션내용보기
-------------------------------------------------------------
[3번 페이지] (test2.jsp)
Attribute id 값 :neouser
isNew():false
세션id:
세션생성시간:
세센마지막접속시간
Session 삭제하기
--------------------------------------------------------------
[4페이지] (test3.jsp)
로그인페이지로


--[index.jsp]-------------------------------------------------
<%@page language="java" contentType="text/html; charset=euc-kr"%>
<html>
<head>
<script>
function idSubmit(){
document.idForm.action = "test1.jsp";
document.idForm.submit();
}
</script>
</head>
<body>
<!-- Header -->
<table width="100%">
<form name="idForm" method="post">
<tr>
<td>ID : <input type="text" name="id" size="15"> <input type="button" value="확인" onClick="idSubmit()"></td>
</tr>
</form>
</table>
</body>
</html>


--[test1.jsp]-------------------------------------------------
<%@page language="java" contentType="text/html; charset=euc-kr"%>
<html>
<%
session = request.getSession(true);
String id = request.getParameter("id");
request.getSession().setAttribute("id", id);
%>
<body>
<h3>Session 생성 </h3>
새로운 세션이 생성되었습니다.<BR>
세션ID : <%=session.getId()%><BR>
<a href="test2.jsp">세션내용보기<BR>
</body>
</html>

--[test2.jsp]-------------------------------------------------
<%@page language="java" contentType="text/html; charset=euc-kr"%>
<html>
<body>
<h3>Session 정보 </h3>
Attribute id 값 :<%=(String)request.getSession().getAttribute("id")%><br>
isNew():<%=session.isNew()%><br>
세션ID:<%=session.getId() %><br>
세션생성시간:<%=new java.util.Date(session.getCreationTime()).toString() %><br>
세션마지막접속시간:<%=new java.util.Date(session.getLastAccessedTime()).toString() %><br>
<a href="test3.jsp">세션삭제하기</a>
</body>
</html>


--[test3.jsp]-------------------------------------------------
<%@page language="java" contentType="text/html; charset=euc-kr"%>
<%
session = request.getSession(false);
if(session != null){ session.invalidate(); }

response.sendRedirect("index.jsp");
%>



그냥 보기에는 간단하지만 session 역시 찾으려 들면 나타나지 않는
신기한 소스입니다. 즐거운 개발 되길 바랍니다.
1 ··· 20 21 22 23 24 25 26 

글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!