pom.xml导入依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1<version>
</dependency>
Mybatis架构注解版组成:存放数据的Bean、执行sql命令的Mapper及调用controller
配置存储数据的Bean:
public class Department{
private Integer id;
private String name;
...
getter&setter
...
}
灵魂
配置执行sql命令的Mapper:
//通过注解@Mapper指定这个是一个操作数据库的Mapper
@Mapper
public interface DepartmentMapper {
//查
@Select("select * from department where id=#{id}")
public Department gerDeptById(Integer id);
//删
@Delete("delete from department where id=#{id}")
public int deleteDeptById(Integer id);
//增
//下面这个注解是自增id
//@Options(useGeneratedKeys = true,keyProperty = "id")
@Insert("insert into department(id,departmentname) values(#{id},#{departmentname})")
public int insertDeptById(Department department);
//改
@Update("update department set id=#{id}, departmentname=#{departmentname} where id=#{id}")
public int updateDeptById(Department department);
}
配置controller:
@RestController
public class DeptController {
@Autowired
DepartmentMapper departmentMapper;
@GetMapping("/dept/{id}")
public Department getDepartment(@PathVariable("id") Integer id){
return departmentMapper.gerDeptById(id);
}
@GetMapping("/dept")
public Department insertDepartment(Department department){
departmentMapper.insertDeptById(department);
return department;
}
}
如果想启动驼峰命名匹配需要在配置文件中添加:
mybatis:
configuration:
map-underscore-to-camel-case: true
可以通过在启动项添加注解对指定目录进行mapper扫描(文件下的mapper就不用再写注解@Mapper)
@MapperScan(value="com.jdbctest.springbootdatamybatis.mapper")