mybatis+mysql 关于两个张表有相同属性名查询会报错的
注意,在MYSQL Wordbench中查询时是可以通过的。
在mybatis中查询两张表中有相同属性名会报错
t_class表 t_teacher表
两张表的id属性名相同,当我执行下面的查询语句的时候,会报错 => Column 'id' in order clause is ambiguous,
<select id="findGradeClassByDescribe" parameterType="Integer" resultMap="gradeClassResult"> select * from t_class t1,t_teacher t2 WHERE t1.describe=#{describe} and t2.id=t1.teacher </select>
正确情况下,
1)把表的属性其中一个改了
t_class表 t_teacher表
2)在select语句中写别名
利用as为查询的列起别名
例如
<select id="findGradeClassByDescribe" parameterType="Integer" resultMap="gradeClassResult">
select t_class.id class_no, teacher, count, describe,t_teacher.id,password from t_class t1,t_teacher t2 WHERE t1.describe=#{describe} and t2.id=t1.teacher
</select>