ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "dionisio@tinieblas.com" <dioni...@tinieblas.com>
Subject RE: probe that my ibatis runs. SOS please help me
Date Tue, 06 Sep 2005 09:22:33 GMT
Hola tu clase, la que me has pasado, que no he podido ponerla ya que
implemente una interfaz que no la tengo, me la he convertido a esto que te
pongo abajo.

Luego lo que pretendo es probarlo desde una clase main para lo cual hago:

public class PruebaIbatis extends MyAppSqlconfig{
	public static void main (String args[]){
		MyAppSqlconfig f;
		try{
			Object cat = (Object)f.getObject("getCategoriasById",new Integer(3));
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}
pero me da un error diciendome que la f no esta inicializada que es un
objeto del tipo de la clase que te pongo abajo, la qu ehe modificado con
la tuya.
me peudes dar un empujoncillo ma a ver si lo consigo?
Muchas gracias por tu ayuda.
De veras.


import java.io.Reader;
import java.sql.SQLException;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class MyAppSqlconfig {
	private static final SqlMapClient sqlMap;
	static {
		try {
			String resource = "SqlMapConfig.xml";
			Reader reader = Resources.getResourceAsReader(resource);
			sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(
				"Error initializing MyAppSqlConfig class.Cause : " + e);
		}
	}

	public static SqlMapClient getSqlMapInstance() {
		return sqlMap;
	}

	public final Object getObject(String statementName, Object parameterObject)
		throws Exception {
		Object result = null;

		try {
			sqlMap.startTransaction();
			result = sqlMap.queryForObject(statementName, parameterObject);
			sqlMap.commitTransaction();
		} catch (Exception e) {
			try {
				sqlMap.endTransaction();
			} catch (SQLException ex) {
				ex.printStackTrace();
			}
			e.printStackTrace();
		}
		return result;
	}
}//clase


> Muy buenas!!!
> Necesitas una  clase que carge tu configuración. Te
> mando el código de la mía con la que realizo las
> transacciones. Lo único que tienes que hacer es
> extender a la que te mando y utilizar los métodos de
> la superclase, o  sea, los de mi clase abstracta,
> desde la subclase.
> public class AbstractUnafeDAO implements IUnafeDAO {
> 	public static int INSERT_BATCH = 0;
> 	public static int DELETE_BATCH = 1;
> 	public static int UPDATE_BATCH = 2;
>
> 	private static Log log =
> LogFactory.getLog(AbstractUnafeDAO.class);
> 	private static SqlMapClient sqlMap = null;
>
> 	static {
> 		// CARGA ESTATICA DE LOS PARAMETROS
> 		try {
> 			String resource =
> "com/unafe/dao/conf/sql-map-config.xml";
> 			Reader reader =
> Resources.getResourceAsReader(resource);
> 			sqlMap =
> SqlMapClientBuilder.buildSqlMapClient(reader);
> 			reader.close();
> 		} catch (Exception ex) {
> 			log.error("AbstractUnafeDAO static block: " + ex);
> 			throw new RuntimeException("Error Initializing
> AbstractUnafeDAO :" + ex);
> 		}
> 	}
>
> 	public final List getList(String statementName,
> Object parameterObject) throws SQLException {
> 		List list = null;
>
> 		try {
> 			sqlMap.startTransaction();
> 			list = sqlMap.queryForList(statementName,
> parameterObject);
> 			sqlMap.commitTransaction();
> 		} catch (SQLException e) {
> 			try {
> 				sqlMap.endTransaction();
> 			} catch (SQLException ex) {
> 				log.error("AbstractUnafeDAO
> getList.endTransaction: " + ex);
> 				throw ex;
> 			}
> 			log.error("AbstractUnafeDAO
> getList.commitTransaction: " + e);
> 			throw e;
> 		}
>
> 		return list;
> 	}
>
> 	public final Object getObject(String statementName,
> Object parameterObject) throws SQLException {
> 		Object result = null;
>
> 		try {
> 			sqlMap.startTransaction();
> 			result = sqlMap.queryForObject(statementName,
> parameterObject);
> 			sqlMap.commitTransaction();
> 		} catch (SQLException e) {
> 			try {
> 				sqlMap.endTransaction();
> 			} catch (SQLException ex) {
> 				log.error("AbstractUnafeDAO
> getObject.endTransaction: " + ex);
> 				throw ex;
> 			}
> 			log.error("AbstractUnafeDAO
> getObject.commitTransaction: " + e);
> 			throw e;
> 		}
>
> 		return result;
> 	}
>
>
> 	public final int update(String statementName, Object
> parameterObject) throws SQLException {
> 		int result = 0;
>
> 		try {
> 			sqlMap.startTransaction();
> 			result = sqlMap.update(statementName,
> parameterObject);
> 			sqlMap.commitTransaction();
> 		} catch (SQLException e) {
> 			try {
> 				sqlMap.endTransaction();
> 			} catch (SQLException ex) {
> 				log.error("AbstractUnafeDAO update.endTransaction:
> " + ex);
> 				throw ex;
> 			}
> 			log.error("AbstractUnafeDAO
> update.commitTransaction: " + e);
> 			throw e;
> 		}
>
> 		return result;
> 	}
>
> 	public final void insert(String statementName, Object
> parameterObject) throws SQLException {
> 		try {
> 			sqlMap.startTransaction();
> 			sqlMap.insert(statementName, parameterObject);
> 			sqlMap.commitTransaction();
> 		} catch (SQLException e) {
> 			try {
> 				sqlMap.endTransaction();
> 			} catch (SQLException ex) {
> 				log.error("AbstractUnafeDAO insert.endTransaction:
> " + ex);
> 				throw ex;
> 			}
> 			log.error("AbstractUnafeDAO
> insert.commitTransaction: " + e);
> 			throw e;
> 		}
> 	}
>
> 	public final void delete(String statementName, Object
> parameterObject) throws SQLException {
> 		try {
> 			sqlMap.startTransaction();
> 			sqlMap.delete(statementName, parameterObject);
> 			sqlMap.commitTransaction();
> 		} catch (SQLException e) {
> 			try {
> 				sqlMap.endTransaction();
> 			} catch (SQLException ex) {
> 				log.error("AbstractUnafeDAO delete.endTransaction:
> " + ex);
> 				throw ex;
> 			}
> 			log.error("AbstractUnafeDAO
> delete.commitTransaction: " + e);
> 			throw e;
> 		}
> /*		finally{
> 			try {
> 				sqlMap.endTransaction();
> 			} catch (SQLException ex) {
> 				throw ex;
> 			}
> 		}
> 		*/
> 	}
>
> 	public final void executeBatch(int accion, String
> statementName, List objs) throws SQLException{
> 		try {
> 			sqlMap.startTransaction();
> 			sqlMap.startBatch();
> 			for(int i=0;i<objs.size();i++){
> 				if(accion==INSERT_BATCH)
> 					sqlMap.insert(statementName, objs.get(i));
> 				else if(accion==UPDATE_BATCH)
> 					sqlMap.update(statementName, objs.get(i));
> 				else if(accion==DELETE_BATCH)
> 					sqlMap.delete(statementName, objs.get(i));
> 			}
> 			sqlMap.executeBatch();
> 			sqlMap.commitTransaction();
> 		} catch (SQLException e) {
> 			try {
> 				sqlMap.endTransaction();
> 			} catch (SQLException ex) {
> 				log.error("AbstractUnafeDAO
> executeBatch.endTransaction: " + ex);
> 				throw ex;
> 			}
> 			log.error("AbstractUnafeDAO
> executeBatch.commitTransaction: " + e);
> 			throw e;
> 		}
> 	}
> }
>
> Saludos
>
>
>
> ______________________________________________
> Renovamos el Correo Yahoo!
> Nuevos servicios, más seguridad
> http://correo.yahoo.es
>



Mime
View raw message