This is the ibator generator xml. Used with the eclipse plugin.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE ibatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Apache iBATIS Ibator Configuration 1.0//EN" "http://ibatis.apache.org/dtd/ibator-config_1_0.dtd" >
<ibatorConfiguration >
<classPathEntry location="C:\eclipse\extra\BDD\SQLServer\sqljdbc_2.0\esn\sqljdbc4.jar" />
<ibatorContext id="test" >
<jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver" connectionURL="jdbc:sqlserver://...:1433;databaseName=...." userId="..." password="..."/>
<javaModelGenerator targetPackage="es.test.model.WebProd" targetProject="test.negocio" />
<sqlMapGenerator targetPackage="es.test.dao.WebProd.sqlMap" targetProject="test.negocio" />
<daoGenerator targetPackage="es.test.dao.WebProd" targetProject="test.negocio" type="SPRING" />
<table schema="dbo" catalog="WebProd" tableName="aliasCuentas">
<property name="useActualColumnNames" value="true"/>
</table>
</ibatorContext>
</ibatorConfiguration>To the generated code of ibator, just add the next items:
In WebProd_dbo_aliasCuentas_SqlMap.xml:
<parameterMap id="getAccountsCall" class="map">
<parameter property="titular" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="permiso" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
</parameterMap>
<resultMap id="cuentaAlias" class="es.test.model.WebProd.Aliascuentas">
<result property="aliasCuenta" column="aliasCuenta" />
<result property="idCuenta" column="idCuenta" />
</resultMap>
<procedure id="getAccounts" resultMap="cuentaAlias" parameterMap="getAccountsCall">
{call WebProd.dbo.sp_web_getCuenstasUsuarioAlias(?, ?)}
</procedure>In AliascuentasDAO:
List<es.test.model.WebProd.Aliascuentas> selectCuentas(Map example);
In AliascuentasDAOImpl:
public List<es.test.model.WebProd.Aliascuentas> selectCuentas(Map example) {
List<es.test.model.WebProd.Aliascuentas> list = getSqlMapClientTemplate().queryForList("WebProd_dbo_aliasCuentas.getAccounts", example);
return list;
}Now, the configurations files of spring and the java source of the call.
In applicationContext*.xml:
<bean id="aliascuentasDAO" class="es.test.dao.WebProd.AliascuentasDAOImpl"> <property name="sqlMapClient"> <ref bean="sqlMapWebProd"/> </property> </bean> <bean id="aliasServicio" class="es.test.miGestion.administracionDatos.service.AliasCuentasServiceImpl"> <property name="aliascuentasDAO"> <ref bean="aliascuentasDAO"/> </property> </bean>
And finally the AliasCuentasServiceImpl.java:
public List<Aliascuentas> getCuentas(String usuario) {
log.debug("getCuentas: inicio. usuario:" + usuario);
List<Aliascuentas> cuentasList;
Map<String, String> map = new HashMap<String, String>();
map.put("titular", usuario);
map.put("permiso", "Consultas");
cuentasList = aliascuentasDAO.selectCuentas(map);
log.debug("getCuentas: fin");
return cuentasList;
}That's all!.