JDBC üçün qurulmuş Object Mapping
Fərz edək ki, belə bir querymiz var
select id, date, amount, user_id, user_name, user_surname, company_id, company_name
və belə bir classımız var
public class Payment {
private Long id; <- id
private String date; <- date
private Double amount; <- amount
private User user; <- user_id, user_name, user_surname, company_id, company_name
}
istəyirik ki, şəkildə göstərildiyi kimi
id, date, amount dolsun -> Payment obyektinə
user_id, user_name, user_surname, company_id, company_name dolsun -> Payment içindəki User obyektinə.
Bunun üçün aşağıdakı kitabxanını istifadə etməklə heç bir set etmədən bunu əldə edə bilərik.
https://github.com/sarkhanrasullu/jdbcObjectMapper/blob/master/src/main/java/com/bsptechs/usage/Payment.java
Kiçik bir istifadə qaydası göstərilib aşağıda.
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.bsptechs.usage;
import lombok.Data;
import com.bsptechs.jdbc.JDBCColumn;
import com.bsptechs.jdbc.JDBCColumnInstance;
import com.bsptechs.jdbc.JDBCEntity;
import com.bsptechs.jdbc.JDBCTableMapping;
/**
*
* @author sarkhanrasullu
*/
@Data
@JDBCEntity
public class Payment {
@JDBCColumn(name = "id")
private Long id;
@JDBCColumn(name = "payment_date")
private String date;
@JDBCColumn(name = "payment_amount")
private Double amount;
@JDBCColumnInstance(table = {
@JDBCTableMapping(varName = "id", columnName = "user_id"),
@JDBCTableMapping(varName = "name", columnName = "user_name"),
@JDBCTableMapping(varName = "surname", columnName = "user_surname"),
@JDBCTableMapping(varName = "company.id", columnName = "company_id"),
@JDBCTableMapping(varName = "company.name", columnName = "company_name")
})
private User user;
}
Comments
Post a Comment