SpringBoot整合Mybatis读取MySQL数据

  • Post author:
  • Post category:mysql




SpringBoot整合Mybatis



使用前配置



一、导入pom坐标的两种方式



1.创建项目时自动生成

在这里插入图片描述



2.pom文件自行添加

在pom文件里面添加相应的依赖,可以查询mvn依赖仓库

点击跳转

链接为https://mvnrepository.com/

在这里插入图片描述



二、配置Mybatis相关文件



1.启动类配置扫描

启动类上面使用注解@MapperScan扫描mapper层

在这里插入图片描述



2.配置文件(yml或yaml或properties)

通过配置文件配置实体类domain层,扫描resources下mapper包所有xml格式的文件

在这里插入图片描述



如何使用



一、创建Mapper层的接口

在这里插入图片描述



二、编写接口相对应的xml

id值为mapper层接口函数名,标签select insert对应查询,新增等,不能通用。

在这里插入图片描述



完整流程



一、数据库表设计

在这里插入图片描述



二、domain层

public class Book {
    private Integer id;
    private String type;
    private String name;
    private String description;

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", type='" + type + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                '}';
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
}



三、mapper层和xml

详见上文mapper接口相关内容



四、service层接口及实现类



接口如下

public interface IBookService {
    List<Book> selectAll();
    List<Book> getByName(String name);

    Boolean addBook(Book book);
    Boolean delBook(Integer id);
    Boolean updateBook(Book book);
}



实现类如下

@Service
public class BookServiceImpl implements IBookService {
    @Autowired
    private BookMapper bookMapper;

    @Override
    public List<Book> selectAll() {
        return bookMapper.selectAll();
    }

    @Override
    public List<Book>  getByName(String name) {
        return bookMapper.getByName(name);
    }

    @Override
    public Boolean addBook(Book book) {
        return bookMapper.addBook(book)>0;
    }

    @Override
    public Boolean delBook(Integer id) {
        return bookMapper.delBook(id)>0;
    }

    @Override
    public Boolean updateBook(Book book) {
        return bookMapper.updateBook(book)>0;
    }
}



五、controller层

@RestController
@RequestMapping("/books")
public class BookController {
    @Autowired
    private IBookService bookService;

    @GetMapping
    public List<Book> getAll(){
        return bookService.selectAll();
    }


    @GetMapping("/{name}")
    public List<Book>  getByName( @PathVariable String name){
        return bookService.getByName(name);
    }
    @PostMapping
    public Boolean addBook(@RequestBody Book book){
        return bookService.addBook(book);
    }
    @DeleteMapping("/{id}")
    public Boolean delBook(@PathVariable Integer id){
        return bookService.delBook(id);
    }
    @PutMapping
    public Boolean delBook(@RequestBody Book book){
        return bookService.updateBook(book);
    }
}



六、启动类

@SpringBootApplication
@MapperScan("com.example.mybatis.mapper")
public class MybatisApplication {

    public static void main(String[] args) {
        SpringApplication.run(MybatisApplication.class, args);
    }

}



postman测试

在这里插入图片描述



版权声明:本文为weixin_59643862原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。