为了账号安全,请及时绑定邮箱和手机立即绑定

mybatis 查询 输入错误id 报错

mybatis 查询 输入错误id 报错

Liu__ 2018-07-18 11:05:35
select        <include refid="Base_Column_List" />        from yujing_record        where macid=#{macid} and time <![CDATA[<]]> #{end} and time <![CDATA[>]]>        #{start}        order by time desc limit #{sindex},#{size}
查看完整描述

3 回答

?
不爱洗碗的猿

TA贡献1条经验 获得超0个赞

以上答案应该都不对吧。目测是你mybatis配置文件的select-id在你代码里调用的时候写错了。确认调用的select-id和你这句sql的select-id相同,再看

 parameterType="java.util.HashMap"

这个入参的类型是否是你代码调用时候传入的类型。并且这个对象是否包含了macid、end、start、sindex、size这5个同名属性。而且你这个写法,这5个参数必须都是非空并且类型正确,否则会报sql语法错误

查看完整回答
反对 回复 2018-07-18
  • Liu__
    Liu__
    谢谢你的回答,我的selectid是对的,这个错误我换了一种处理方式,首先判断macid是否存在,存在才执行后面的语句
  • 不爱洗碗的猿
    不爱洗碗的猿
    我建议你可以写成 WHERE 1=1 <if test="macid!=null and macid!=''"> AND macid=#{macid} </if>
  • 不爱洗碗的猿
    不爱洗碗的猿
    后面的条件和对应语句同理
?
慕少3274410

TA贡献20条经验 获得超10个赞

你这不报错才怪。

你的这些字段数据库都有吗?

其次分页你会给数据库存字段吗?

你要解决的问题是你输入的字段,mybatis中提供了两种#{arg0}和#{param1} 这两种方式,去到网上找到看看。

你问的问题差不多就可以解决了。

查看完整回答
反对 回复 2018-07-18
?
HansonQ

TA贡献223条经验 获得超56个赞

单看你这一段,有错误的情况只能是没给输入字段添加类型。

查看完整回答
反对 回复 2018-07-18
  • 3 回答
  • 0 关注
  • 2289 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信