Code Example: Data Transfer Object DTO or Data Beans
January 17th, 2006When you are implementing you jdbc layer, you need a solid way to create Data Transfer Objects (DTO’s) or Data Beans . This is the way I implement this.
Data Transfer Object interface.
package dto;
import jdbc.DAObject;
public interface IDTO {
public void execute() throws Exception;
public DAObject [] getData();
public DAObject getFirstRowData();
}
|
Data Transfer Object. Base class.
package dto;
import java.util.ArrayList;
import jdbc.DAObject;
import jdbc.JDBCSessionAccessor;
import jdbc.JDBCSessionAccessorHome;
import jndi.JNDILocator;
import jndi.JNDILookupNames;
abstract public class DTO implements IDTO{
DAObject [] data;
public void runQuery(String query, ArrayList list ) throws Exception
{
JNDILocator jndi = JNDILocator.getJNDILocator();
JDBCSessionAccessorHome home = (JDBCSessionAccessorHome) jndi.getJNDIObject(JNDILookupNames.JDBCSESSIONBEAN);
JDBCSessionAccessor jdbc = home.create();
DAObject [] rset = (DAObject []) jdbc.query(query,list.toArray());
if (rset !=null)
{
data = rset;
}
}
public DAObject getFirstRowData()
{
if (data !=null && data[0] != null)
{
return data[0];
}
return null;
}
/**
* @return Returns the data.
*/
public DAObject [] getData() {
return data;
}
/**
* @param data The data to set.
*/
public void setData(DAObject [] p_data) {
this.data = p_data;
}
}
|
Data Transfer Object. Example quey implementation
package dto;
import java.util.ArrayList;
class DTOTable1 extends DTO {
public static String COLUMN1 = "column1";
public static String FIELD_QUERY = "SELECT column1 FROM table1 where field1 = ?";
private String field;
public DTOTable1 ()
{
}
public String getField() {
return eventMessageId;
}
public void setField(String rowId) {
field= rowId;
}
public LabelType(String p_field)
{
field=p_field;
}
public void execute() throws Exception
{
ArrayList list = new ArrayList();
list.add(getField());
runQuery(FIELD_QUERY,list);
}
|
A use to use it…..
DTOTable1 label = new DTOTable1();
label.setField("somevalue");
label.execute();
String lableType =(String) label.getFirstRowData().getProperty(DTOTable1.COLUMN1);
|
java,code samples, example,jdbc, example,dto