Spring Boot 整合MyBatis
一、创建项目
1、创建以下目录结构
创建Spring Boot项目,添加MyBatis依赖、数据库驱动依赖以及数控连接池依赖,代码如下
<dependencies>
<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>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>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>
**/*.xml
</include>
</includes>
</resource>
</resources>
</build>
2、数据库配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
username: root
password: 123456
3、创建实体类
@Data
public class Book {
private Integer id;
private String name;
private String author;
}
4、创建数据库访问层
@Mapper
@Component(value = "BookMapper")
public interface BookMapper {
List<Book> getAllBooks();
}
5、创建BookMapper.xml
<mapper namespace="com.example.demo.mapper.BookMapper">
<select id="getAllBooks" resultType="com.example.demo.entity.Book">
SELECT * FROM book
</select>
</mapper>
6、创建Service
public interface BookService {
List<Book> getAllBooks();
}
7、创建实现类
@Service
public class BookServiceImpl implements BookService {
@Autowired
private BookMapper bookMapper;
@Override
public List<Book> getAllBooks() {
return bookMapper.getAllBooks();
}
8、创建Controller
@RestController
@RequestMapping("/book")
public class BookContrller {
@Autowired
BookService bookService;
@PostMapping("/findAll")
public List<Book> findAll(){
return bookService.getAllBooks();
}
}