지속(Java 도구)
Persist (Java tool)| 운영체제 | 크로스 플랫폼 |
|---|---|
| 유형 | 지속성 프레임워크 |
| 면허증. | GNU Lesser General Public License |
| 웹사이트 | https://code.google.com/p/persist/ |
Persist는 Java 기반의 ORM/DAO 도구입니다. 데이터베이스 쿼리에서 개체 또는 맵을 매핑하고 문 매개 변수를 매핑하는 데 필요한 최소한의 기능만 제공합니다.
persist는 java.sql 주변에서 작동합니다.연결 개체입니다. 이는 고객 쿼리 언어(PreparedStatement 개체가 사용하는 것처럼 자리 표시자가 있는 일반 SQL을 사용함), 연결 풀 처리, 트랜잭션 처리(대부분) 등에 대해 신경 쓰지 않음을 의미합니다. 이는 또한 매우 유연하며 JDBC에 의존하는 모든 코드(이미 다른 ORM/DAO 도구를 사용하는 코드 포함)와 통합할 수 있음을 의미합니다.
Persept는 POJO에서 데이터베이스 테이블로의 명시적인 매핑을 필요로 하지 않습니다. 데이터베이스 이름과 POJO 이름을 연관시키는 일종의 명명 규칙이 있는 한 Persist는 매핑을 거의 필요로 하지 않습니다. 그러나 주석을 사용하여 Java 클래스 및 필드를 데이터베이스 테이블 및 열에 매핑하도록 지시할 수 있습니다.
Persist는 다음과 같은 몇 가지 다른 매핑 전략을 지원합니다.
테이블에 매핑된 POJO
기본적으로 지정된 클래스가 테이블에 매핑되지 않도록 지정된 주석이 없으면 지속은 해당 클래스와 일치하는 테이블을 찾고 필드와 열 간의 매핑을 만듭니다.
// 새 고객을 삽입합니다(고객이 테이블 고객에게 자동으로 매핑되는 클래스). 끈질긴.끼우다(고객.); // 기본 키로 고객 읽기 고객. c = 끈질긴.Primary Key로 읽기(고객..학급, 42); // 사용자 지정 쿼리를 사용하여 고객을 검색합니다(vararg의 사용법 참고). 목록. 목록. = 끈질긴.목록 읽기(고객..학급, "고객님 어디서 *를 선택하세요 id >?", 10); // 모든 고객을 불러오고 반복기에 결과 집합 할당 이터레이터 모든 고객이터레이터 = 끈질긴.readiterator(고객..학급, "고객에서 *선택"); POJ가 테이블에 매핑되지 않음
클래스에 @NoTable로 주석이 달린 경우 Persist는 해당 클래스를 테이블에 매핑하려고 하지 않으며 클래스는 쿼리에 의해 생성된 데이터만 저장할 수 있습니다.
@노테이블 학급 데이터 쿼리 { 사적인 인트의 세어보세요; 사적인 끈 concatName; 일반의 긴 get count() { 돌아가다 세어보세요; } 일반의 공허한 setCount(긴 세어보세요) { 이것..세어보세요 = 세어보세요; } 일반의 끈 ConcatName 가져오기() { 돌아가다 concatName; } 일반의 공허한 ConcatName 설정(끈 concatName) { 이것..concatName = concatName; } } 데이터 쿼리 qd1 = 끈질긴.읽어주세요(데이터 쿼리.학급, "1을 카운트로 선택하고, dual에서 concat_name으로 'hello'를 선택합니다."); 자바. util.지도의
지도는 쿼리에서 데이터를 저장하는 데 사용할 수 있습니다. Persist는 쿼리에서 반환된 값을 Java 유형으로 변환합니다. 표의 키는 소문자로 반환되는 열의 이름입니다.
// 사용자 지정 쿼리를 사용하여 고객을 불러오고 결과를 지도로 반환합니다. 지도<끈,물건> customerMap = 끈질긴.지도 읽기("고객의 id=에서 *를 선택하십시오.", 10); // 모든 고객을 불러와서 결과를 목록의 Map 인스턴스로 표시 목록.<지도<끈,물건>> 고객 지도 목록 = 끈질긴.지도 목록 읽기("고객에서 *선택"); // 모든 고객을 불러오고 행을 매핑 인스턴스에 매핑하는 반복기에 ResultSet 할당 이터레이터 모든 고객이터레이터 = 끈질긴.ReadMapIterator("고객에서 *선택"); 자바 원시형
쿼리가 단일 열을 반환하는 경우 Persist는 데이터를 원시 유형(단일 값 또는 목록)으로 직접 매핑할 수 있습니다.
// 고객 이름을 문자열로 반환 끈 이름. = 끈질긴.읽어주세요(끈.학급, "고객의 이름을 선택하십시오. id=?", 55); // 모든 고객 ID를 정수 목록으로 가져옵니다. 목록.<정수> ids = 끈질긴.목록 읽기(정수.학급, "고객에서 ID 선택"); 반환되는 데이터가 없는 사용자 지정 쿼리
데이터를 반환하지 않는 임의 쿼리를 쉽게 실행할 수 있습니다.
// 매개 변수를 사용하여 임의 SQL 실행 끈질긴.update를 실행합니다.("내가 (?)에 있는 고객에서 삭제합니다.", 10, 20);