当前位置:编程学习 > JAVA >>

ibatis的queryforlist返回值为空

ibatis的queryforlist返回值为空,其实数据库是可以查出数据的,但是通过queryforlist后list为空
ibatis中写法如下:
<select id="getAllUser" parameterClass="java.lang.String" resultClass="user">
       select username,password,易做图,mobile,email,
       area,birthday,hobby,address,introduce from userinfo
       where username=#username#
    </select>
daoimpl中写法如下:
public List<User> getAllUser2(){
   List<User> b = null;
   try{
   b = this.getSqlMapClientTemplate().queryForList("User.getAllUser", "111");
   }catch(Exception e){
   e.printStackTrace();
   }
   
  
   return b;
   } --------------------编程问答-------------------- 着急啊!!!!! --------------------编程问答-------------------- 我直接用的 mybatis

xml配置文件 参数是这么写的 #{username}

程序没抛异常吧 --------------------编程问答-------------------- 建议你在控制台输出sql语句,看看  --------------------编程问答-------------------- <select id="getAllUser" parameterClass="java.lang.String" resultClass="user">
       select username,password,易做图,mobile,email,
       area,birthday,hobby,address,introduce from userinfo
       where username=#{username}
    </select>
这样写试试。 --------------------编程问答-------------------- 没搞懂,我觉得你这个 resultClass="user" 配置没报错的话,这个配置就不会有问题了
一般这里是这样写的:
 where username=#value# --------------------编程问答-------------------- resultClass="java.util.List"时才会得到数据 --------------------编程问答-------------------- 写错了,resultClass="java.util.List"时才不会得到数据,得到的为空,但是数据库中是可以查出数据的 --------------------编程问答-------------------- 你返回的不是User实体对象么?
resultClass="com.**.User"  这里直接写你的User类的全路径 --------------------编程问答-------------------- 但是我需要的是list的,不是user --------------------编程问答--------------------
引用 9 楼 ianafollow 的回复:
但是我需要的是list的,不是user


我想说呵呵... 你试验下嘛 --------------------编程问答--------------------
引用 10 楼 Rlay_2 的回复:
Quote: 引用 9 楼 ianafollow 的回复:

但是我需要的是list的,不是user


我想说呵呵... 你试验下嘛
user是可以的,我试过了 --------------------编程问答-------------------- 第一步: where username=#username# 改为where 1=1
   仍然空说明是最低级的错误,自己从连库信息用户名等地方找
   不空继续
第二步: where username=#username# 改为where username='111'
   仍然空说明是最低级的错误,自己从数据类型开始找比如char varchar
   不空继续
第三步: where username=#username# 改为where trim(username)=trim(#username#)
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,