如果涉及动态sql,依然使用mapper.xml
mapper.xml和注解可以共存
1.使用注解时,mybatis.xml中<mappers>使用
(1)<package name="包名"/>
(2)<mapper class="包.接口类"/>
2.实现查询
@Select("select * from teacher")
List<Teacher> selAll();
2.修改
@Update("update teacher set name=#{name} where id=#{id}")
int updateTeacher(Teacher teacher);
3.删除
@Delete("delete from teacher where id=#{0"})
int delById(int id);
4.插入
@Insert("insert into teacher values(default,#{name}")
int insTeacher(Teacher teacher);
注解实现<resultMap>功能,以N+1为例(查询该老师所有学生)
1.在StudentMapper接口添加查询
@Select("select * from student where tid=#{0}")
List<Student> selById(int tid);
2.在TeacherMapper接口添加
@Results()相当于<resultMap>
@Result()相当于id或result
@Result(id=true)相当于<id/>
@Many()相当于<collection/>
@On相当于<association>
@Results(value={@Result(id=true,property="id",column="id"),
@Result(property="name",column="name"),
@Result(property="list",column="id",many=@Many(select="com.bjsxt.StudentMapper.selById"))
})
@select(select * from teacher")
List<Teacher> selTeacher();