在项目中需要统计表中某一列有多少数据,使用sql 语句如下:
- select count(p_real_frame1) from tbl_frame
其中,想把 count( parameter ) 括号中的参数用占位符表示,通过参数传递完成这个sql语句,这样就可以写成通用的查询某一列有多少数据。要拼接这个 sql 语句,括号里的内容设置为 String 类型的,即整个 sql 语句作为一个字符串。
首先,在 mybatis 的 mapper.xml 映射文件对应的接口文件中,声明相应sql的 dao 接口, 传入的参数设置为String 类型。
然后,在mabatis 的 mapper.xml 文件中写这个 sql,注意传递的参数一定是${_parameter}, 不是用 # 或者其他,参数也必须是{_parameter},这里尝试其他写法都不行。
这里传进去的参数不是 数据表对应的 javaBean 对象的属性,所以需要这么写。
如果传入的参数,是在 javabean 定义好的,即 数据表中的列名对应了javaBean 中的属性,需要使用 # 像如下这么写,这里以id为例,可以直接写成 #{id}作为传进去的参数:
- <delete id="deleteUser" parameterType="int">
- delete from users where id=#{id}
- </delete>