提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、创建项目,导入依赖,完善项目结构
- 二、编码
- 1.yml配置
- 2.编写实体类
- 3.编写mapper.xml和接口
- 4.编写业务层
- 5.编写控制层
- 6.启动类加上包扫描注解
- 三.测试
- 总结
前言
SpringBoot支持对其它框架的快速扩展,本篇记录怎么使用SpringBoot整合Mybatis框架
一、创建项目,导入依赖,完善项目结构
使用IDEA创建SpringBoot项目上篇已经讲过,不再赘述,大家可以自行观看http://t.csdn.cn/1N423
直接从导入依赖开始
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<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.3.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.9</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
项目结构如下

二、编码
1.yml配置
spring:
datasource:
username: 用户民
password: 密码
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/book?serverTimezone=Asia/Shanghai&characterEncoding=utf8
type: com.alibaba.druid.pool.DruidDataSource
mybatis:
type-aliases-package: com.lzl.pojo
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath:mapper/*.xml
2.编写实体类
package com.lzl.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {
private Integer id;
private String bookName;
private String author;
private Double price;
private Integer typeId;
private String description;
private String path;
}
3.编写mapper.xml和接口
持久层接口
package com.lzl.mapper;
import com.lzl.pojo.Book;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface BookMapper {
List<Book> getAll();
}
映射文件
<?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.lzl.mapper.BookMapper">
<resultMap id="bookMap" type="book">
<id column="id" property="id"/>
<result column="book_name" property="bookName"/>
<result column="author" property="author"/>
<result column="price" property="price"/>
<result column="type_id" property="typeId"/>
<result column="description" property="description"/>
<result column="path" property="path"/>
</resultMap>
<sql id="selectSql">
select id,book_name,author,price,description,path from book
</sql>
<select id="getAll" resultMap="bookMap">
<include refid="selectSql"/>
</select>
</mapper>
4.编写业务层
接口:
package com.lzl.service;
import com.lzl.pojo.Book;
import java.util.Map;
public interface BookService {
Map<String,Object> findAll();
}
实现类:
package com.lzl.service.impl;
import com.lzl.mapper.BookMapper;
import com.lzl.pojo.Book;
import com.lzl.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class BookServiceImpl implements BookService {
@Autowired
private BookMapper mapper;
@Override
public Map<String, Object> findAll() {
Map<String, Object> map = new HashMap<>();
List<Book> list = mapper.getAll();
if (list.size() != 0){
map.put("data",list);
map.put("code",200);
}else{
map.put("msg","没有数据!");
map.put("code",200);
}
return map;
}
}
5.编写控制层
package com.lzl.controller;
import com.lzl.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
@RequestMapping("/book")
public class BookController {
@Autowired
private BookService service;
@RequestMapping("/getAll")
public Map<String,Object> getAll(){
return service.findAll();
}
}
6.启动类加上包扫描注解

三.测试
启动项目,浏览器访问http://localhost:8080/book/getAll如下:

成功!
总结
本篇是对mybatis的整合,完成