mybatis.xml
mapper.java 增删改查
public interface TeacherMapper {
@Select("select * from teacher")
List selAll();
@Insert("insert into teacher (id,name) values(default,#{name})")
int insTeacher(Teacher teacher);
@Update("update teacher set name=#{name} where id=#{id}")
int updTeacher(Teacher teacher);
@Delete("delete from teacher where id=#{0}")
int delById(int id);
}
测试代码
TeacherMapper mapper = session.getMapper(TeacherMapper.class);
List list = mapper.selAll();
结果
Teacher [id=1, name=老师1, list=null]
Teacher [id=2, name=老师2, list=null]
Teacher [id=3, name=老师3, list=null]
mapper.java 多表联合查询,实现resultMap功能
public interface StudentMapper {
@Select("select * from student where tid=#{0}")
Student selById(int id);
}
public interface TeacherMapper {
@Results(value= {
@Result(id=true,property="id",column="id"),
@Result(property="name",column="name"),
@Result(property="list",column="id",many=@Many(select="com.bjsxt.mapper.StudentMapper.selByTid"))
})
@Select("select * from teacher")
List selTeacher();
}
@results()相对于
@result()相当于或
@result(id=true)相当于
@Many()相当于
@One()相当于
测试代码
List list = mapper.selTeacher();
for(Teacher tea:list) {
System.out.println(tea);
}
结果
Teacher [id=1, name=老师1, list=[Student [id=1, name=学生1, age=11, tid=1, teacher=null], Student [id=2, name=学生2, age=16, tid=1, teacher=null], Student [id=3, name=学生3, age=17, tid=1, teacher=null]]]
Teacher [id=2, name=老师2, list=[Student [id=4, name=学生4, age=18, tid=2, teacher=null], Student [id=5, name=学生5, age=19, tid=2, teacher=null]]]
Teacher [id=3, name=老师3, list=[Student [id=6, name=学生6, age=22, tid=3, teacher=null]]]
Teacher [id=13, name=Tom, list=[]]
Teacher [id=23, name=Mac, list=[]]