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。只要保证使用的参数的名称和传入中名称一致就可以了。
如果有多个参数,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这些,有什么不同呢,什么情况下用到。。。追答动态标签 主要是验证有些字段 不能为空的时候用到的。
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这些,有什么不同呢,什么情况下用到。。。追答动态标签 主要是验证有些字段 不能为空的时候用到的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯