Code Example: Data Transfer Object DTO or Data Beans

January 17th, 2006

When 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

Leave a Comment