中易网

Ibatis的SQL语句有哪些写法,下面这个写法错在哪里?不能从数据库中查到数据。。。

答案:3  悬赏:20  
解决时间 2021-01-15 20:07
  • 提问者网友:沉默菋噵
  • 2021-01-14 19:08
Ibatis的SQL语句有哪些写法,下面这个写法错在哪里?不能从数据库中查到数据。。。
最佳答案
  • 二级知识专家网友:我住北渡口
  • 2021-01-14 20:14

              select * from huser order by u_id
     ]]>


resultClass是User,如果你sql语句查询出来的结果集合大于1,那岂不是会有问题(可以返回一个Map,你自己必须要定义)


parameterClass="String"极端情况下,你的name和password都有值的话,你该咋办?如果说name和password都为空呢 ,最后的sql=select *  from huser where 这又该怎么执行呢?
所以 如luoting2762所说,where 1=1 比较稳妥。

id=selectUserByNameAndPwd的标签,你可以传递一个Map参数过来(默认不用写) ,或者传递一个对象过来也可以。

全部回答
  • 1楼网友:话散在刀尖上
  • 2021-01-14 20:24
像你这样,where后面想做动态语句的,那么稳妥些,先写个where 1= 1,然后再写动态语句部分。
如果有多个参数,parameterClass可以写User。只要保证使用的参数的名称和传入中名称一致就可以了。
  • 2楼网友:毛毛
  • 2021-01-14 20:19
parameterClass="hasMap" 换成 hasMap 后台 把 值 放到 HasMap hasMap =new HasMap
hasMap.put("name",huser.name);
hasMap.put("password",huser.password);
你的查询条件是并且的关系 select * from huser where LOGIN_NAME='admin' and PASS_WORD ='123456'
如果你这用 parameterClass="String" 类型 只能传过来一个参数 select * from huser where LOGIN_NAME='admin'追问恩,这个上面的我已经解决了,另外再问一个:parameterClass=”输入参数类型”,如果输入参数类型是一个User对象,比如我想插入一条记录,怎么写sql(直接写我知道insert into huser(属性1,属性2.....) into values(值1,值2.....)),但是有些用到了dynamic,cdata这些,有什么不同呢,什么情况下用到。。。追答动态标签 主要是验证有些字段 不能为空的时候用到的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息