1. 注解:为了简化配置文件
2. Mybatis的注解简化mapper.xml文件
2.1 如果涉及动态SQL依然使用mapper.xml
3. mapper.xml和注解可以共存
4. 使用注解时,mybatis.xml中<mappers>使用
4.1 <package/>
4.2 <mapper class=””/>
<mappers> <package name="com.mapper"/> <!-- <mapper class="com.mapper.TeacherMapper"/> --> </mappers> |
5. 实现查询
@Select("select * from teacher") List<Teacher> selectAll(); |
6. 实现新增
@Insert("insert into teacher values(default,#{name})") int insertTeacher(Teacher teacher); |
7. 实现修改
@Update("update teacher set id = #{id} where name=#{name}") int updateTeacher(Teacher teacher); |
8. 实现删除
@Delete("delete from teacher where id=#{0}") int deleteById(int id); |
9. 使用注解实现<resultMap>功能
9.1 以N+1举例
9.2 在StudentMapper接口中添加查询
@Select("select * from student where tid = #{0}") List<Student> selectById(int tid); |
9.3 在TeacherMapper接口中添加
9.3.1 @Results()相当于<resultMap>
9.3.2 @Result()相当于<id>或<result>
9.3.2.1 @Result(id=true)相当于<id>
9.3.3 @Many()相当于<collection>
9.3.4 @One()相当于<association>
@Results(value={ @Result(id=true,property="id",column="id"), @Result(property="name",column="name"), @Result(property="list",column="id",many=@Many(select="com.mapper.StudentMapper.selectById")) }) @Select("select * from teacher") List<Teacher> selectTeacher(); |