一、创建数据和表
二、添加依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.9</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
三、数据库配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.url=jdbc:mysql://localhost:3306/mybatis spring.datasource.username = root spring.datasource.password = kangxg198811
四、创建实体类
public class Book {
private Integer id;
private String name;
private String author;
protected Float price;
private Date publicationDate;
public Integer getId() {
return id;
}
public Date getPublicationDate() {
return publicationDate;
}
public Float getPrice() {
return price;
}
public String getName() {
return name;
}
public String getAuthor() {
return author;
}
public void setAutor(String autor) {
this.author = autor;
}
public void setName(String name) {
this.name = name;
}
public void setPrice(Float price) {
this.price = price;
}
public void setPublicationDate(Date publicationDate) {
this.publicationDate = publicationDate;
}
public void setId(Integer id) {
this.id = id;
}
}
五、创建数据库访问层
@Mapper
public interface BookMapper {
int addBook(Book book);
int deleteBookById(Integer id);
int updateBookById(Book book);
Book getBookById(Integer id);
List<Book> getAllBooks();
}
@Mapper 去掉可在入口设置这样可以指定包下所有接口作为Mapper
@SpringBootApplication
@MapperScan("com.kxg.springboot.mapper")
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
指定多个@MapperScan({"com.kxg.demo","com.kxg.user"})
六、创建映射XML文件
<?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">
<!-- namespace 表示命名空间 -->
<mapper namespace="com.kxg.springboot.mapper.BookMapper">
<insert id="addBook" parameterType="com.kxg.springboot.po.Book">
INSERT INTO t_book(name,author) VALUES(#{name},#{author})
</insert>
<delete id="deleteBookById" parameterType="Integer">
DELETE from t_book where id=#{id}
</delete>
<update id="updateBookById" parameterType="com.kxg.springboot.po.Book">
UPDATE t_book set name=#{name},author=#{author} where id=#{id}
</update>
<select id="getBookById" parameterType = "Integer" resultType="com.kxg.springboot.po.Book">
select * from t_book where id =#{id}
</select>
<select id="getAllBooks" resultType="com.kxg.springboot.po.Book">
select * from t_book
</select>
</mapper>
七、创建Service和Controller
1.Service
@Service
public class BookService {
@Autowired
BookMapper bookMapper;
public int addBook(Book book)
{
return bookMapper.addBook(book);
}
public int updateBook(Book book)
{
return bookMapper.updateBookById(book);
}
public int deleteBookById(Integer id)
{
return bookMapper.deleteBookById(id);
}
public Book getBookById(Integer id)
{
return bookMapper.getBookById(id);
}
public List<Book> getAllBooks()
{
return bookMapper.getAllBooks();
}
}
2.Controller
@RestController
@RequestMapping("/book")
public class BookController {
@Autowired
BookService bookService;
@GetMapping("/addBook")
public int addBook(){
Book book= new Book();
book.setName("西厢记");
book.setAutor("王实甫");
return bookService.addBook(book);
}
@GetMapping("/updateBook")
public int updateBook(Integer id)
{
Book book= new Book();
book.setName("朝花夕拾");
book.setAutor("鲁迅");
book.setId(2);
return bookService.updateBook(book);
}
@GetMapping("/getBookById")
public Book getBookByid(Integer id)
{
return bookService.getBookById(id);
}
@GetMapping("/getAllBooks")
public List<Book> getAllBooks()
{
return bookService.getAllBooks();
}
@GetMapping("/deleteBookById")
public int deleteBookById(Integer id)
{
return bookService.deleteBookById(id);
}
}
八、配置pom.xml 指定资源文件的位置
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resource</directory>
</resource>
</resources>
</build>
九、测试