Mybatis注解使用
@Select注解
可以在接口方法上使用,也可以在xml文件中使用;使用@Select注解需要在注解中指定sql语句
1 2 3 4 5 6
| @Mapper public interface TeacherMapper extends BaseMapper<TeacherEntity> {
@Select("select id,sys_name name from sys_teacher") List<TeacherEntity> getList(); }
|
@Insert注解
同上
1 2 3 4 5 6
| @Mapper public interface TeacherMapper extends BaseMapper<TeacherEntity> {
@Insert("insert into sys_teacher(sys_name,sys_age) value('张三',18)") boolean saveEntity(); }
|
@Update注解
同上
1 2 3 4 5 6
| @Mapper public interface TeacherMapper extends BaseMapper<TeacherEntity> {
@Update("update sys_teacher set sys_name = '李四', sys_age = 22 where id = 8 ") int updateEntity(); }
|
@Delete注解
同上
1 2 3 4 5 6
| @Mapper public interface TeacherMapper extends BaseMapper<TeacherEntity> {
@Delete("delete from sys_teacher where id = #{id}") boolean deleteEntity(Integer id); }
|
@Result注解
同上;用于标记单个属性与结果集中的列之间的映射关系,通常与@Results注解搭配使用
1 2 3 4 5 6 7 8
| @Mapper public interface TeacherMapper extends BaseMapper<TeacherEntity> {
@Select("select sys_name , sys_age from sys_teacher where id = #{id}") @Result(property = "name", column = "sys_name") @Result(property = "sysAge", column = "sys_age") TeacherEntity getEntityById(Integer id); }
|
@Results注解
用于指定多个@Result注解
1 2 3 4 5 6 7 8 9 10 11
| @Mapper public interface TeacherMapper extends BaseMapper<TeacherEntity> { @Select("select * from sys_teacher where id = #{id}") @Results(id = "teacherResultMap", value = { @Result(property = "name", column = "sys_name") }) TeacherEntity getEntityByIdWithResultsAnnotation(Integer id); }
|