有关 mybatis 传递类的类参数属性问题
假设有Teacher类classTeacher{Studentstu;}Student类classStudent{Stringname;}那么,在MAPPER配置文件中<...
假设
有Teacher类
class Teacher{Student stu;}
Student 类
class Student {String name;}
那么,在MAPPER配置文件中<select parameterType="Teacher">select * from class where name =#{stu.name}</select>可以么?如果不可以怎么能取到类属性的属性值做参数?
班级Class1类
class Class1{String name;}
一共是三个类。 展开
有Teacher类
class Teacher{Student stu;}
Student 类
class Student {String name;}
那么,在MAPPER配置文件中<select parameterType="Teacher">select * from class where name =#{stu.name}</select>可以么?如果不可以怎么能取到类属性的属性值做参数?
班级Class1类
class Class1{String name;}
一共是三个类。 展开
2个回答
展开全部
<select parameterType="map" resultClass="Teacher">
select * <!-- 不要用* -->
from class
where name = #name#
</select>
select * <!-- 不要用* -->
from class
where name = #name#
</select>
更多追问追答
追问
"."操作符在 mybatis 中是没用的么?
# #的用法又是什么?查找范围是什么?怎么知道name属性是谁的?
追答
给你举个实际的例子吧,在Action中调用ibatis的查询语句,先将查询条件放入Map中,下面是JAVA代码:
String aae031 = "and 1 = 1";
map.put("aae031",aae031);
map.put("aaz231","1000000232892");
ka21Info = getDao().queryForList("medicalbenefit_inventory.getKa21_tg",map);
xml中的查询语句为:
SELECT aaz235,
aac066,
aae030
FROM ka21
WHERE aaz231=#aaz231#
AND aae100 = '1'
$aae031$
order by aae031
ibatis用到##说明是变量,需要从java代码中传入值。#a#变量跟类没有关系,类属性的属性值你可以在java代码中通过变量传进去。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询