此项目在SpringBoot整合Druid基础上,数据库连接相关配置在那里面。
1.使用IDEA创建SpringBoot项目
2.建立测试的表
3.相对应的实体类
为了不必要的麻烦,实体类的名字一定要和数据库字段的名字保持一致
Department
package cn.yf.springboot_mybatis.bean;
public class Department {
private Integer id;
private String departmentName;
public Department() {
}
public Department(Integer id, String departmentName) {
this.id = id;
this.departmentName = departmentName;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
@Override
public String toString() {
return "Department{" +
"id=" + id +
", departmentName='" + departmentName + '\'' +
'}';
}
}
4.Mapper
package cn.yf.springboot_mybatis.mapper;
import cn.yf.springboot_mybatis.bean.Department;
import org.apache.ibatis.annotations.*;
//指定这是一个操作数据库的mapper
@Mapper
public interface DepartmentMapper {
@Select("select * from department where id = #{id}")
public Department getDepartmentById(Integer id);
@Delete("delete from department where id = #{id}")
public int deleteDepartmentById(Integer id);
@Options(useGeneratedKeys = true,keyProperty = "id")
@Insert("insert into department (departmentName) values (#{departmentName})")
public int insertDepartment(Department department);
@Update("update department set departmentName = #{departmentName} where id = #{id}")
public int updateDepartment(Department department);
}
这里的@Mapper也可以去掉,但是必须要在SpringBootApplication类上添加@MapperScan(value = “cn.yf.springboot_mybatis.mapper”),这样mapper包里面的所有接口都可以省略掉@Mapper
5.测试
package cn.yf.springboot_mybatis.controller;
import cn.yf.springboot_mybatis.bean.Department;
import cn.yf.springboot_mybatis.mapper.DepartmentMapper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
public class DepartmentController {
@Resource
DepartmentMapper departmentMapper;
@GetMapping("dept/{id}")
public Department getDepartment(@PathVariable("id") Integer id){
return departmentMapper.getDepartmentById(id);
}
@GetMapping("dept")
public Department insertDepartment(Department department){
departmentMapper.insertDepartment(department);
return department;
}
}
在Druid后台我们可以看到