2012-05-14 3 views
-1

첫 번째 행에 헤더가 있고 다른 행에는 데이터가있는 csv 파일에서 자동으로 Java POJO 클래스를 생성하려고합니다. csv 파일을 구문 분석하고 데이터를 Java 객체에 저장하는 방법을 보여주는 그물에서 많은 예제와 도구를 발견했지만, 모두 Java POJO 클래스는 이미 수동으로 생성되었으며 자동으로 생성하는 도구를 찾고 있습니다. 그렇지 않으면 Hibernate 리버스 엔지니어링 도구와 비슷한 도구가 필요하지만 데이터베이스 대신 CSV 파일을 가지고 있습니다. 예를 들어자동으로 Java 클래스 생성 CSV 파일에서

여기 내 입력 CSV 파일입니다

username, password, date,  zip, town 

Klaus, qwexyKiks, 17/1/2007,1111, New York 

Oufu1,  bobilops, 10/10/2007,4555, New York 

그리고 여기가 자동으로 생성해야 할 것입니다 : 내가 어떤 도구 모르겠어요

package test; 

import java.util.Date; 

public class UserBean { 
    String username; 
    String password; 
    Date date; 
    int zip; 
    String town; 


    public Date getDate() { 
     return date; 
    } 
    public String getPassword() { 
     return password; 
    } 
    public String getTown() { 
     return town; 
    } 
    public String getUsername() { 
     return username; 
    } 
    public int getZip() { 
     return zip; 
    } 
    public void setDate(final Date date) { 
     this.date = date; 
    } 
    public void setPassword(final String password) { 
     this.password = password; 
    } 

    public void setTown(final String town) { 
     this.town = town; 
    } 
    public void setUsername(final String username) { 
     this.username = username; 
    } 
    public void setZip(final int zip) { 
     this.zip = zip; 
    } 
} 
+0

이것을 달성하기 위해 무엇을 했습니까? –

+0

나는 그가 이미 쓰여진 도구를 찾고 있다고 생각한다. –

답변

0

,하지만 당신은 항상 할 수 csv의 첫 번째 줄을 읽고 원하는 POJO 코드로 .java 파일을 만드는 도구를 작성하십시오.

+0

예, 그렇습니다.하지만 먼저 기존 코드를 시작하기 전에 작업을 수행하는 기존 도구를 찾고 있습니다. – claude88

0

당신이하고 싶은 일은 아주 느리고 내결함성이 없다고 생각합니다.

관계형 데이터베이스 관리 시스템과 CSV 파일의 테이블 간의 주요 차이점은 데이터 형식 정보가 인 것입니다. 그래서 을 가지고 싶은 소프트웨어는 열에 타입 추론을 적용하고 매우 느리고 오류가 발생할 수 있습니다. 오류가있을 수있는 대용량 파일을 구문 분석 할 경우 유효성 검사 기능이 없으므로 실행 시간이 전체 시스템의 병목 현상이 될 수 있습니다.

+0

내 응용 프로그램에 많은 다른 데이터 소스 (데이터베이스, CSV)가 있기 때문에 내 CSV 파일을 POJO 클래스로 변환해야합니다. , xml ...) 그래서 비즈니스 계층은 데이터 소스의 유형과 독립적이어야하고 POJO 클래스 만 사용하므로 데이터베이스에서 최대 절전 모드 도구를 사용하여 POJO 클래스를 생성하고 있으며 이제는이를 수행 할 도구를 찾고 있습니다. csv 파일로 Hibernate와 동일한 작업. 데이터 유형 문제에 관해서는 동의하지만 액세스 계층에 String 객체 만 만들고 비즈니스 계층에서는 일부 유형 변환을 수행하면이 문제를 해결할 수 있습니다. – claude88

+0

[데이터 전송 개체] (http://martinfowler.com/eaaCatalog/dataTransferObject.html) 패턴 (값 개체라고도 함)을 구현하고 싶습니까? 이는 아이디어 일 수 있지만 비즈니스 계층 내에서 입력 유효성 검사를 수행해야합니다. [CSV JDBC 드라이버] (http://stackoverflow.com/questions/1468998/execute-sql-on-csv-files-via-jdbc)를 사용해 보셨습니까? –

+0

데이터 전송 객체 패턴을 언급 해 주셔서 감사합니다. 실제로 동일한 것을 구현하고 있습니다. 프로젝트에 포함하면 좋은 생각이 될 것입니다. CSV JDBC 드라이버의 경우 csv 파일을 나타내는 데이터베이스에서 POJO 클래스를 생성하기 위해 Hibernate 또는 다른 도구를 사용할 수 있는지 알지 못합니다.이 방법은 작업이 더욱 복잡해 지므로 데이터베이스를 사용하지 않고 직접 변환기 도구를 찾고 있습니다.) 그리고 존재하지 않는 경우에는 자체 변환기를 개발해야합니다. – claude88

관련 문제