sqlmap.xml:<mapper namespace="SelectCache" >
<cache type="org.mybatis.caches.ehcache.LoggingEhcache" />
<resultMap type="User" id="userResultMap">
...
</resultMap>
<!-- call procedure parameter -->
<parameterMap id="parameterMap" type="java.util.HashMap">
<parameter property="IN_TesterCode" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="IN_PassWord" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="result" jdbcType="CURSOR" javaType="java.sql.ResultSet" mode="OUT" resultMap="userResultMap"/>
</parameterMap>
<select id="getTesterByCodeAndPwd" parameterMap="parameterMap" statementType="CALLABLE" resultType="User">
{call pkg_gettesterbycodeandpwd.proc_gettesterbycodeandpwd(?, ?,?)}
</select>
</mapper> java code:List userList = null;
Map<String, Object> param = new HashMap<String, Object>();
param.put("IN_TesterCode", getUser().getTesterCode());
param.put("IN_PassWord", getUser().getPassWord());
param.put("result", userList); // 调用存储过程
userServices.getTesterByCodeAndPwd(param);userList= (ArrayList)param.get("result"); // 得到存储过程返回的List第一次调用userList可用,在缓存没有失效时再次调用,userList为null,郁闷,我知道是缓存的事,但不知道怎么解决,望各位大侠多帮忙,谢谢!!!
<cache type="org.mybatis.caches.ehcache.LoggingEhcache" />
<resultMap type="User" id="userResultMap">
...
</resultMap>
<!-- call procedure parameter -->
<parameterMap id="parameterMap" type="java.util.HashMap">
<parameter property="IN_TesterCode" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="IN_PassWord" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="result" jdbcType="CURSOR" javaType="java.sql.ResultSet" mode="OUT" resultMap="userResultMap"/>
</parameterMap>
<select id="getTesterByCodeAndPwd" parameterMap="parameterMap" statementType="CALLABLE" resultType="User">
{call pkg_gettesterbycodeandpwd.proc_gettesterbycodeandpwd(?, ?,?)}
</select>
</mapper> java code:List userList = null;
Map<String, Object> param = new HashMap<String, Object>();
param.put("IN_TesterCode", getUser().getTesterCode());
param.put("IN_PassWord", getUser().getPassWord());
param.put("result", userList); // 调用存储过程
userServices.getTesterByCodeAndPwd(param);userList= (ArrayList)param.get("result"); // 得到存储过程返回的List第一次调用userList可用,在缓存没有失效时再次调用,userList为null,郁闷,我知道是缓存的事,但不知道怎么解决,望各位大侠多帮忙,谢谢!!!
解决方案 »
- org.springframework.validation.BindException: org.springframework.validation.Bea
- java 怎么把多个对象写进同一个文件里,用集合
- 为什么JNI中的GetMethodID总是返回0
- 问一个笼统问题
- jb2006和WEBLOGIC连接JDBC的问题!
- 调用webservice的时候怎么处理事务
- 如何获取客户端的ip地址?
- 求助,谁知道struts是什么技术啊,哪里有关于它的介绍
- 几个名词解释 关于各厂商都提供了那些j2ee容器?
- Could not parse mapping document from resouce it.cast.bean.grade.hbm.xml
- 怎么在循环中使用spring里的bean配置
- 查询报错求指教
换成
List userList = new ArrayList();
试试、