67,512
社区成员
发帖
与我相关
我的任务
分享
package cn.com.sigmasoft.test.persistence.dao;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import com.ibatis.common.resources.Resources;
import com.ibatis.dao.client.DaoManager;
import com.ibatis.dao.client.template.SqlMapDaoTemplate;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class ProcedureDAOImpl implements ProcedureDAO {
/**
* This method was generated by Abator for iBATIS.
* This method corresponds to the database table userinfo
*
* @abatorgenerated Mon Mar 31 11:41:57 CST 2008
*/
public ProcedureDAOImpl() {
}
/**
* SqlMapClient instances are thread safe, so you only need one.
* In this case, we'll use a static singleton. So sue me. ;-)
*/
private static SqlMapClient sqlMapper;
/**
* It's not a good idea to put code that can fail in a class initializer,
* but for sake of argument, here's how you configure an SQL Map.
*/
static {
try {
Reader reader = Resources.getResourceAsReader("cn/com/sigmasoft/test/persistence/sqlmap/SqlMapConfig.xml");
sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
} catch (IOException e) {
// Fail fast.
throw new RuntimeException("Something bad happened while building the SqlMapClient instance." + e, e);
}
}
/*
* Override method @see cn.com.sigmasoft.test.persistence.dao.ProcedureDAO#getMax_in_example() of the class ProcedureDAOImpl.java
*
* @return
* @throws SQLException
*/
public Integer getMax_in_example() throws SQLException {
Map m = new HashMap(2);
m.put("a", new Integer(7));
m.put("b", new Integer(5));
Integer val =
(Integer)sqlMapper.queryForObject("in_example", m);
return val;
}
/*
* Override method @see cn.com.sigmasoft.test.persistence.dao.ProcedureDAO#swap() of the class ProcedureDAOImpl.java
*
* @return
* @throws SQLException
*/
public Integer swap() throws SQLException {
Map m = new HashMap(2);
m.put("a", new Integer(7));
m.put("b", new Integer(5));
Integer val =
(Integer) sqlMapper.queryForObject("swapProcedure", m);
return val;
}
/*
* Override method @see cn.com.sigmasoft.test.persistence.dao.ProcedureDAO#maximum() of the class ProcedureDAOImpl.java
*
* @return
* @throws SQLException
*/
public Integer maximum() throws SQLException {
Map m = new HashMap(2);
m.put("a", new Integer(7));
m.put("b", new Integer(5));
Integer val = (Integer)sqlMapper.queryForObject("maxOutProcedure", m);
return val;
}
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="procedure">
<parameterMap id="pm_in_example" class="java.util.Map">
<parameter property="a" typeName="INTEGER" javaType="int"
jdbcType="NUMERIC" />
<parameter property="b" typeName="INTEGER" javaType="int"
jdbcType="NUMERIC" />
</parameterMap>
<!--
<resultMap id="rm_in_example" class="java.lang.Integer">
<result property="c" javaType="int" jdbcType="INTEGER"/>
</resultMap>
-->
<procedure id="in_example" parameterMap="pm_in_example"
resultClass="int">
{ ?=call max_in_example(?, ?) }
</procedure>
<parameterMap id="swapProcedureMap" class="java.util.Map">
<parameter property="a" mode="INOUT" />
<parameter property="b" mode="INOUT" />
</parameterMap>
<procedure id="swapProcedure" parameterMap="swapProcedureMap">
{ call swap(?, ?) }
</procedure>
<parameterMap id="maxOutProcedureMap" class="java.util.Map">
<parameter property="a" mode="IN" />
<parameter property="b" mode="IN" />
<parameter property="c" mode="OUT" />
</parameterMap>
<procedure id="maxOutProcedure" parameterMap="maxOutProcedureMap">
{ call maximum (?, ?, ?) }
</procedure>
</sqlMap>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="procedure">
<parameterMap id="pm_in_example" class="java.util.Map">
<parameter property="a" typeName="INTEGER" javaType="int"
jdbcType="NUMERIC" />
<parameter property="b" typeName="INTEGER" javaType="int"
jdbcType="NUMERIC" />
</parameterMap>
<!--
<resultMap id="rm_in_example" class="java.lang.Integer">
<result property="c" javaType="int" jdbcType="INTEGER"/>
</resultMap>
-->
<procedure id="in_example" parameterMap="pm_in_example"
resultClass="int">
{ ?=call max_in_example(?, ?) }
</procedure>
<parameterMap id="swapProcedureMap" class="java.util.Map">
<parameter property="a" mode="INOUT" />
<parameter property="b" mode="INOUT" />
</parameterMap>
<procedure id="swapProcedure" parameterMap="swapProcedureMap">
{ call swap(?, ?) }
</procedure>
<parameterMap id="maxOutProcedureMap" class="java.util.Map">
<parameter property="a" mode="IN" />
<parameter property="b" mode="IN" />
<parameter property="c" mode="OUT" />
</parameterMap>
<procedure id="maxOutProcedure" parameterMap="maxOutProcedureMap">
{ call maximum (?, ?, ?) }
</procedure>
</sqlMap>