Ibatis 查询语句出错,看了半天没看出错误。。。。。
public class PuterBoot
{
private String puterId;
private String goodsId;
private int optId;
/**
* @return the puterId
*/
public String getPuterId() {
return puterId;
}
/**
* @param puterId the puterId to set
*/
public void setPuterId(String puterId) {
this.puterId = puterId;
}
/**
* @return the goodsId
*/
public String getGoodsId() {
return goodsId;
}
}
public class PuterBootDAO
{
public List<?> getGoodsIdArFlagCount(PuterBoot put)
{
System.out.println("optIdMM"+put.getOptId());
System.out.println("puterIdMM"+put.getPuterId());
System.out.println("devIdMM"+put.getDevId());
return getBackOfficeSqlMapClientTemplate1().queryForList("PuterBoot.selectGoodsIdArFlagCount",put);
}
services中调用这个DAO里方法,能输出各种值
这是XML中写的SQL语句
<sqlMap namespace="PuterBoot">
<select id="selectGoodsIdArFlagCount" parameterClass="com.dingding.vms.backoffice.data.pt.PuterBoot" resultClass="java.util.HashMap">
select goods_id, ar_flag, count
from t_puter_action_detail
where opt_id = #optId#
and puter_id = #puterId#
and dev_id = #devId#
</select>
最后反回的List是空,这代码有什么问题?谢谢了
------解决方案--------------------不会报错吗 查询语句 count 不是关键字吗
------解决方案--------------------count是关键字哦。
------解决方案--------------------sql 返回的是一个hashmap
------解决方案--------------------先把你的sql在数据库运行一下。
------解决方案--------------------楼主请尝试在log4j配置文件中加入
log4j.logger.java.sql.Connection = DEBUG
log4j.logger.java.sql.Statement = DEBUG
log4j.logger.java.sql.PreparedStatement = DEBUG
log4j.logger.java.sql.ResultSet = DEBUG
看看ibatis实际执行的语句是什么,我感觉你的配置文件是正确的