SpringBoot整合Mybatis读取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 版权协议,转载请附上原文出处链接和本声明。