1、创建springboot项目,勾选Spring web、MyBatis Framework、MySQL Driver
- 当前springboot选择的是2.6.13版本,jdk1.8
- 尽量选2.几的springboot
- mybatis-spring-boot-starter对应版本应该降低到2.2.2
2、在pom.xml中导入的相应坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
<version>3.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
3、配置application.properties
spring.application.name=demo
spring.datasource.url=jdbc:mysql://192.168.29.71:3306/uacs?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=uacsapp
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.mapper-locations=classpath*:/mappers/*Mapper.xml
4、创建实体类Book
新建entity包,再新建Book实体类
package com.example.entity;
import lombok.Data;
import java.util.Date;
@Data
public class Book {
private Integer id;
private String picture;
private String name;
private String introduce;
private String publish;
private String auth;
private Double price;
private Integer isDeleted;
private Date gmtCreate;
private Date gmtModified;
}
5、新建接口BookMapper
新建mappers包,再新建BookMapper接口
package com.example.mappers;
import com.example.entity.Book;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface BookMapper {
Book getBookById(Integer id);
}
6、对应建表sql
CREATE TABLE `book` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '序号',
`picture` varchar(2000) DEFAULT NULL COMMENT '图片',
`name` varchar(200) DEFAULT NULL COMMENT '书本名称',
`introduce` varchar(200) DEFAULT NULL COMMENT '介绍',
`publish` varchar(200) DEFAULT NULL COMMENT '出版社',
`auth` varchar(200) DEFAULT NULL COMMENT '作者',
`price` double DEFAULT NULL COMMENT '价格',
`is_deleted` tinyint unsigned DEFAULT '0' COMMENT '逻辑删除 1(true)已删除, 0(false)未删除',
`gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
`gmt_modified` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=8 COMMENT='书本信息表';
7、在resources创建新建BookMapper.xml文件
在resources下新建mappers包,再新建BookMapper.xml,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">
<mapper namespace="com.example.mappers.BookMapper">
<select id="getBookById" resultType="com.example.entity.Book">
SELECT id, name, auth
FROM book
where id = #{id}
</select>
</mapper>
8、SpringBootTest测试类中进行测试
package com.example;
import com.example.mappers.BookMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class DemoApplicationTests {
@Autowired
private BookMapper bookMapper;
@Test
void MyTest1() {
System.out.println(bookMapper.getBookById(8).toString());
}
}