<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.lnfvc.mapper.BookMapper">
<select id="findById" resultType="cn.lnfvc.pojo.Book">
select * from book where id = #{id}
</select>
<select id="findAllBooks" resultType="cn.lnfvc.pojo.Book">
select * from book;
</select>
<insert id="insert" parameterType="cn.lnfvc.pojo.Book">
insert into book values (#{id},#{name})
</insert>
<delete id="delete" >
delete from book where id = #{id}
</delete>
<update id="update" parameterType="cn.lnfvc.pojo.Book">
update book set name = #{name} where id = #{id}
</update>
</mapper>
Book.java
package cn.lnfvc;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Book {
private Integer id;
private String name;
}
BookMapper
package cn.lnfvc.mapper;
import cn.lnfvc.pojo.Book;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface BookMapper {
Book findById(Integer id);
List<Book> findAllBooks();
int insert(Book book);
int delete(Integer id);
int update(Book book);
}
BookController
package cn.lnfvc.controller;
import cn.lnfvc.mapper.BookMapper;
import cn.lnfvc.pojo.Book;
import org.springframework.web.bind.annotation.*;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.List;
@RestController
public class BookController {
@Resource
private BookMapper bookMapper;
@GetMapping(value = "/books/{id}")
public Book test(@PathVariable("id")Integer id){
return bookMapper.findById(id);
}
@GetMapping(value = "/books")
public List<Book> findAllBooks(){
return bookMapper.findAllBooks();
}
@PostMapping(value = "/books")
public Book insert(@RequestBody Book book){
bookMapper.insert(book);
return book;
}
@DeleteMapping(value = "/books/{id}")
public Book delete(@PathVariable("id")Integer id){
bookMapper.delete(id);
return new Book();
}
@PutMapping(value = "/books/{id}")
public Book update(@RequestBody Book book,@PathVariable("id")Integer id){
book.setId(id);
bookMapper.update(book);
return book;
}
}
test.http测试
POST http://localhost:8001/books
Content-Type: application/json
{"id": 5,"name": "jcl"}
###
DELETE http://localhost:8001/books/1
Accept: application/json
###
GET http://localhost:8001/books/
Accept: application/json
###
PUT http://localhost:8001/books/4
Content-Type: application/json
{"name": "456"}
###