具有多个输入的Mybatis select语句映射

时间:2016-03-26 14:30:23

标签: mybatis

该项目是spring-mybatis。我使用@Param注释,但该值无法传递给它。

使用以下界面

findPage(@Param("start") Integer start, @Param("pageSize") Integer pageSize, @Param("delFlag") Integer delFlag);

工具

findPage(@Param("start") Integer start, @Param("pageSize") Integer pageSize,@Param("delFlag")Integer delFlag) {
    return this.getSqlSession().selectList(getNs() + ".findPage");
}

映射器

<select id="findPage" parameterType="map" resultMap="sysUserRM">
SELECT
    *
FROM
    sys_user
WHERE
    del_falg = #{delFlag,jdbcType=INTEGER}
LIMIT #{start,jdbcType=INTEGER},#{pageSize,jdbcType=INTEGER}

错误

### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE
        del_falg = null
    LIMIT null,null' at line 6

为什么它无法接收输入?

1 个答案:

答案 0 :(得分:0)

为了让你的params名称传递给mybatis执行器,你不能编写自己的mapper接口实现,但是让mybatis使用以下代码生成代理:

YourMapper yourMapper = this.getSqlSession().getMapper(YourMapper.class);
YourPage yourPage = yourMapper.findPage(....);