JDBC(3) - 데이터베이스의 다른 대상에 대한 조작

문서 목록

  • 시간
  • 텍스트
  • 바이너리
  • 타임


    java.util.Date 하위 클래스:java.sql.Date는 년월일류:java.sql.Time은 시간 초 하위 클래스:java.sql.Timestamp 는 년 월 일 시 분 초 (시간 스탬프) 를 나타냅니다.
    정의:
    //java.sql.Date
    Date date = new Date(System.currentTimeMillis());// 
    //java.sql.Timestamp
    Timestamp time = new Timestamp(System.currentTimeMillis());
    

    작업: 데이터베이스에서 날짜를 비교할 때 날짜 형식을 롱 형식 데이터로 바꾸어 Date 대상을 만들어야 한다.
    public long dateToLong(String dateStr){
    	DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    	long time = -1;
    	try {
            time = format.parse(dateStr).getTime();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return time;
    }
    

    텍스트


    CLOB(Character Large Object)
  • 대량의 텍스트 데이터를 저장하는 데 사용
  • 통상적으로 흐르는 방식으로 처리한다.

  • Mysql의 관련 유형:
  • TINYTEXT 최대 길이 255(2^8 - 1) 문자의 Text 열
  • TEXT 최대 길이 65535(2^16-1) 문자의 Text 열
  • MEDIUMTEXT 최대 길이 16777215(2^24 - 1) 문자의 Text 열
  • LONGTEXT 최대 길이 4GB(2^32 - 1) 문자의 Text 열
  • setClob() 메서드에서 두 번째 매개변수는 흐름입니다.
    getClob () 는 Clob 대상을 얻고, Clob 대상은 getCharacterStream () 방법으로 문자 흐름을 가져옵니다.

    바이너리


    2진 BLOB의 용법은 큰 텍스트 문자인 CLOB의 용법과 완전히 같다. (CLOB를 BLOB로 바꾸기만 하면)
    // 
    ps = con.prepareStatement("insert into student(Name,head) value (?,?) ");
    ps.setString(1," ");
    ps.setBlob(2,new FileInputStream("d:/icon.jpg"));
    ps.execute();
    
    // 
    ps = con.prepareStatement("select * from student where Name = ?");
    ps.setString(1," ");
    
    rs = ps.executeQuery();
    while(rs.next()){
    	Blob b = rs.getBlob("head");
    	// 
    	is = b.getBinaryStream();
    	// 
    	os = new FileOutputStream("d:/a.jpg");
    	int temp = 0;
    	while((temp = is.read()) != -1){
    		os.write(temp);
    	}
    }
    

    좋은 웹페이지 즐겨찾기