'sample code'에 해당되는 글 6건

  1. 2007.02.06 [sample] JDBC 연결 (tomcat / datasource)
  2. 2007.02.06 [sample] JDBC TEST
  3. 2007.02.06 [sample] 난수발생기
  4. 2007.02.05 [sample] System.arraycopy() 부분복사
  5. 2007.01.29 [sample] replace _최고 속도 4
  6. 2007.01.29 [sample] IP로 국가정보 알아오기

● 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

하나의 객체만을 가지고 저렇게 쉽게 복사할 수 있다. (로직한줄도 간과하면 안되요..)
public static String rplc(String mainString, String oldString, String newString) {
        if (mainString == null) {
            return null;
        }
        if (oldString == null || oldString.length() == 0) {
            return mainString;
        }
        if (newString == null) {
            newString = "";
        }
       
        int i = mainString.lastIndexOf(oldString);
        if (i < 0)return mainString;
        StringBuffer mainSb = new StringBuffer(mainString);
        while (i >= 0) {
            mainSb.replace(i, (i + oldString.length()), newString);
            i = mainString.lastIndexOf(oldString, i - 1);
        }
        return mainSb.toString();
    }


replace 프로그램은 많이 있지만 빠른 replace 를 만드는건 좀 차별된것 같다.
실제 위 코드는 내가 바라는 생각의 속도만큼이나 나준 소스코드이다.

import java.util.Locale;

import net.sf.javainetlocator.InetAddressLocator;

import net.sf.javainetlocator.InetAddressLocatorException;

public class InetAddressLocatorTest {
   
    public static void main(String[] args){
        try {
            Locale locale = InetAddressLocator.getLocale("pistos.pe.kr");  // 딸랑 이거 한줄!
            System.out.println(locale.getCountry());
        } catch (InetAddressLocatorException e) {
            e.printStackTrace();
        }
    }
}

1 

글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!