begin
<foreach collection="items" item="stu">
select name,address,city,province from teachers
<trim prefix="where" prefixOverrides="and|or">
<if test="stu.name!=null">
and name =#{stu.name}
</if>
<if test="stu.age!=null">
and age =#{stu.age}
</if>
<if test="stu.name!=null">
and sex =#{stu.sex}
</if>
</trim>
</foreach>
这样写的查询sql报无效的关系运算符,之后我想到的存储过程
Dao 接口
List<Teacher> queryTeacher(@Param("map")Map<String,Lis<Teacher> map)
查询sql
{
call(#{map.import_params,jdbcType=CURSOR,mode=IN},
#{map.out_params,mode=OUT,javaType=ResultSet,resultMap="baseMap"})
}
调用
Map<String,Teacher> m = new HashMap<String,List<Teacher>);
m.put("import_params,list);
m.put("outparam,null);
teacherDao.queryTeacher(m);
这样查询报错说我的 there is no type handler for com.test.QueryTeacher.importParam,改成 #{import_param} 报错 there is no param import_param
available is map
网上有的人就是这样写的,但是报错,请教各位大神这个如何写, 我将不胜感激。
mybatis 执行带多行sql 查询语句
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答
- zoyation 2019-02-28 09:09关注
1.少了and
2.且需要写成多个查询关联结果作为子查询方式,最外只能有一个select
3.foreach的collection="items"里面的items什么意思?弄清楚foreach的用法,如果是list<对象>参数collection="List", name =#{items.name}
比如这样:
select t.* from(
select * from teachers
name =#{items.name}
and age =#{items.age}
and sex =#{items.sex}
) t解决 无用评论 打赏 举报
悬赏问题
- ¥15 电力市场出清matlab yalmip kkt 双层优化问题
- ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
- ¥20 matlab yalmip kkt 双层优化问题
- ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
- ¥88 实在没有想法,需要个思路
- ¥15 MATLAB报错输入参数太多
- ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
- ¥15 有赏,i卡绘世画不出
- ¥15 如何用stata画出文献中常见的安慰剂检验图
- ¥15 c语言链表结构体数据插入