select * from teacher where id=#{tid};
-
带你解读一下上面的代码, 首先id对应的是我们dao层接口的方法 ,返回值类型我们初始设置成resultmap, 首先查到的是数据库学生表的所有信息
-
然后到resultMap标签里, 这里的id要对应上述我们设置的resultMap的名子, 这个这个返回类型就是真实的返回类型, 所以是student, 其中student的id和name已经自动映射好了, 不需要我们再次建立映射关系, 最重要的就是teacher对象的映射, 我们使用association标签,property映射到student类型的teacher引用名, Javatype表示返回的是一个teacher类型, column表示所查到的学生信息中的tid要去这个老师对象建立连接, select表示调用下面的select语句
-
在最下面的select语句中,返回类型是teacher类型与上面进行对应, 在sql语句中通过上面的column设定的列的值进行对应建立连接
-
最后就是返回student这个对象
select s.id sid, s.name sname, t.name tname from student s, teacher t where s.tid=t.id;
-
使用这个代码易懂, 但是sql语句会变得