ibatis查询不到数据,数据库有,sql能查出
有这样一个用户,userName=test,passWord=testjava代码:Objectobj=getSqlMapClientTemplate().queryFo...
有这样一个用户,userName=test,passWord=test
java代码:Object obj = getSqlMapClientTemplate().queryForObject("userSpace.queryUser", user);
xml配置:
<typeAlias alias="user" type="com.user.bean.User"></typeAlias>
<resultMap class="user" id="loginUser">
<result property="userID" column="USERID"/>
<result property="userName" column="USERNAME"/>
<result property="passWord" column="PASSWORD"/>
</resultMap>
<select id="queryUser" parameterClass="user" resultMap="loginUser">
SELECT USERID, USERNAME, PASSWORD FROM T_USER WHERE USERNAME=#userName# and PASSWORD=#passWord#
</select>
日志:
2014-09-20 09:02:34 [DEBUG]-[java.sql.Connection] {conn-100000} Preparing Statement: SELECT USERID, USERNAME, PASSWORD FROM T_USER WHERE USERNAME=? and PASSWORD=?
2014-09-20 09:02:34 [DEBUG]-[java.sql.PreparedStatement] {pstm-100001} Executing Statement: SELECT USERID, USERNAME, PASSWORD FROM T_USER WHERE USERNAME=? and PASSWORD=?
2014-09-20 09:02:34 [DEBUG]-[java.sql.PreparedStatement] {pstm-100001} Parameters: [test, test]
2014-09-20 09:02:34 [DEBUG]-[java.sql.PreparedStatement] {pstm-100001} Types: [java.lang.String, java.lang.String] 展开
java代码:Object obj = getSqlMapClientTemplate().queryForObject("userSpace.queryUser", user);
xml配置:
<typeAlias alias="user" type="com.user.bean.User"></typeAlias>
<resultMap class="user" id="loginUser">
<result property="userID" column="USERID"/>
<result property="userName" column="USERNAME"/>
<result property="passWord" column="PASSWORD"/>
</resultMap>
<select id="queryUser" parameterClass="user" resultMap="loginUser">
SELECT USERID, USERNAME, PASSWORD FROM T_USER WHERE USERNAME=#userName# and PASSWORD=#passWord#
</select>
日志:
2014-09-20 09:02:34 [DEBUG]-[java.sql.Connection] {conn-100000} Preparing Statement: SELECT USERID, USERNAME, PASSWORD FROM T_USER WHERE USERNAME=? and PASSWORD=?
2014-09-20 09:02:34 [DEBUG]-[java.sql.PreparedStatement] {pstm-100001} Executing Statement: SELECT USERID, USERNAME, PASSWORD FROM T_USER WHERE USERNAME=? and PASSWORD=?
2014-09-20 09:02:34 [DEBUG]-[java.sql.PreparedStatement] {pstm-100001} Parameters: [test, test]
2014-09-20 09:02:34 [DEBUG]-[java.sql.PreparedStatement] {pstm-100001} Types: [java.lang.String, java.lang.String] 展开
展开全部
resultMap="loginUser" 错了 应该是 resultMap="user" 还有这么写,跟踪出来的sql是存储过程的形式,比较蛋疼,SELECT USERID, USERNAME, PASSWORD FROM T_USER WHERE USERNAME=#userName# and PASSWORD=#passWord# 个人喜欢 SELECT USERID, USERNAME, PASSWORD FROM T_USER WHERE USERNAME=‘$userName$' and PASSWORD=‘$passWord$'
展开全部
<select id="queryAll" resultClass="User"> <![CDATA[ select * from huser order by u_id ]]></select>
resultClass是User,如果你sql语句查询出来的结果集合大于1,那岂不是会有问题(可以返回一个Map,你自己必须要定义)
parameterClass="String"极端情况下,你的name和password都有值的话,你该咋办?如果说name和password都为空呢 ,最后的sql=select * from huser where 这又该怎么执行呢?
所以 如luoting2762所说,where 1=1 比较稳妥。
id=selectUserByNameAndPwd的标签,你可以传递一个Map参数过来(默认不用写) ,或者传递一个对象过来也可以。
resultClass是User,如果你sql语句查询出来的结果集合大于1,那岂不是会有问题(可以返回一个Map,你自己必须要定义)
parameterClass="String"极端情况下,你的name和password都有值的话,你该咋办?如果说name和password都为空呢 ,最后的sql=select * from huser where 这又该怎么执行呢?
所以 如luoting2762所说,where 1=1 比较稳妥。
id=selectUserByNameAndPwd的标签,你可以传递一个Map参数过来(默认不用写) ,或者传递一个对象过来也可以。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询