MyBatis 注解

1. 注解:为了简化配置文件.
2. Mybatis 的注解简化 mapper.xml 文件.
   2.1 如果涉及动态 SQL 依然使用 mapper.xml
3. mapper.xml 和注解可以共存.
4. 使用注解时 mybatis.xml 中<mappers>使用
   4.1<package/>
   4.2<mapperclass=””/>
5. 实现查询

@Select("select * from teacher") 
List<Teacher> selAll();

6. 实现新增

@Insert("insert into teacher values(default,#{name})")
int insTeacher(Teacher teacher);

7. 实现修改

@Update("update teacher set name=#{name} where id=#{id}") 
int updTeacher(Teacher teacher);

8. 实现删除 

@Delete("delete from teacher where id=#{0}") 
int delById(int id);

9. 使用注解实现<resultMap>功能
   9.1 以 N+1 举例
   9.2 在 StudentMapper 接口添加查询

@Select("select * from student where tid=#{0}") 
List<Student> selByTid(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.bjsxt.mapper.StudentMapper.selByTid")
)
}
)
@Select("select * from teacher")
List<Teacher> selTeacher();

 

 

 

posted @ 2019-12-04 16:31  古城笙箫  阅读(270)  评论(0)    收藏  举报