做模糊查询时遇到的异常
来源:互联网 发布:全国地址数据库 mysql 编辑:程序博客网 时间:2024/05/29 14:28
在整个模糊查询的java代码和web端写好后,我在tomcat下运行,出现了如下的异常。
是MyBatis的反射异常,首先想到的是dao中的参数和mapper文件中的sql语句的问题,而且死抓住project这段代码。我的mapper文件中的代码如下图
<select id="findPageObjects" resultType="com.tong.ttms.project.entity.Project"> select * from tms_projects p <where> <if test="project.name != null and project.name != ''"> p.name like CONCAT ("%",#{project.name},"%") </if> <if test="project.valid!=null"> and p.valid=#{project.valid} </if> </where> order by p.createdTime desc limit #{pageObject.startIndex},#{pageObject.pageSize} </select> <!-- 获得总记录数 --> <select id="getRowCount" resultType="java.lang.Integer"> select count(*) from tms_projects p <where> <if test="project.name!=null and project.name!=''"> p.name like concat("%",#{name},"%") </if> <if test="project.valid!=null"> and p.valid=#{valid} </if> </where> </select>
dao中的代码如下图
/**分页查找数据*/ List<Project> findPageObjects(@Param("project")Project project,@Param("pageObject")PageObject pageObject); /**总记录数*/ int getRowCount(Project project)
dao中getRowCount传进来的是一个参数project,但是没有指定注入的参数名@Param("project"),而在mapper的sql语句中有project.name和project.valid,指定了参数名,这就相互不对应了。所以当MyBatis在查找时,把project当做了dao中参数的属性,所以出现了以上的异常。当我将mapper文件中sql语句里的前缀project删掉(dao中只有一个参数,不用指定注入参数名)是,异常就消除。
希望这些能对大家有一点用,如果有错误的地方请谅解和指点。谢谢!
阅读全文
0 0
- 做模糊查询时遇到的异常
- sql模糊查询时遇到下划线的关键字问题
- 模仿百度对查询出来数据做数据分页与遇到的PropertyNotFoundException异常
- mybatis做like模糊查询
- mybatis做like模糊查询
- mybatis做like模糊查询
- mybatis做模糊查询 like
- mybatis做like模糊查询
- mybatis做like模糊查询
- mybatis做like模糊查询
- mybatis做like模糊查询
- mybatis做like模糊查询
- mybatis做like模糊查询
- mybatis做like模糊查询
- mybatis做like模糊查询
- mybatis做like模糊查询
- 对List数据集中的数据做模糊查询
- mybatis做like模糊查询的常见三种方法
- Hadoop入门之NameNode中元数据的容灾
- (Linux技术)设置文件的权限 用户 用户组
- MPAndroidChart直方图使用(BarChart),渐变,滑动
- 刷怪升级
- 纯js 别踩白块游戏解析与源码
- 做模糊查询时遇到的异常
- Protobuf与Avro的序列化性能测试
- LSD直线检测
- 云片验证码
- 宏碁acer TMTX40笔记本如何重装系统?
- Android Camera 流程学习记录(二)—— Camera Open 调用流程
- 百度曾计划收购今日头条,但遭张一鸣明确否决
- Home Work (贪心法基础)
- Python编程积累