使用注解实现mybatis查询

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=[]]

你可能感兴趣的:(mybatis)