SpringBoot整合Mybatis

igxiaoshan Lv5

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);
}
// 作用是提供实体和数据库字段映射关系
// 比如: 数据库字段为 sys_name 实体类字段为 name ; 需要使用映射关系