SpringBoot基础 | 第八章 - 整合Mybatis

SpringBoot基础教程

环境

JDK1.8
Maven

工具

IntelliJ IDEA

SpringBoot基础 | 第一章 - 快速搭建Web应用
SpringBoot基础 | 第二章 - 配置热部署
SpringBoot基础 | 第三章 - 使用配置文件
SpringBoot基础 | 第四章 - 日志配置
SpringBoot基础 | 第五章 - 整合lombok
SpringBoot基础 | 第六章 - 整合SpringDataJPA
SpringBoot基础 | 第七章 - 整合缓存 SpringDataCache
SpringBoot基础 | 第八章 - 整合Mybatis
SpringBoot基础 | 第九章 - 整合Mapper3实现MyBatis通用Mapper
SpringBoot基础 | 第十章 - 整合PageHelper实现分页查询


准备

mysql 数据库

创建数据库 msf

CREATE DATABASE msf DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

创建数据表 user

CREATE TABLE `user` (
  `id` bigint(11) unsigned NOT NULL COMMENT '主键',
  `username` varchar(32) NOT NULL COMMENT '用户名',
  `passwd` varchar(64) NOT NULL COMMENT '密码',
  `sex` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '性别,0保密1男2女',
  `birthday` date NOT NULL DEFAULT '0000-00-00' COMMENT '生日',
  PRIMARY KEY (`id`),
  KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='会员';

执行 SQL

insert into `user` values (1, 'admin', '123', 1, '1997-07-01 00:00:00')

操作步骤

一、添加依赖,重点是添加对 mybatis-spring-boot-starter 的依赖
<modelVersion>4.0.0</modelVersion>
<groupId>com.msf.tutorial</groupId>
<artifactId>spring-boot-08</artifactId>
<version>1.0-SNAPSHOT</version>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.5.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- mybatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.1</version>
    </dependency>

    <!-- mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </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>
        <scope>compile</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
二、配置

编辑 application.properties,配置数据源信息以及 Mybatis 的 mapper 文件路径

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/msf
spring.datasource.username=root
spring.datasource.password=

mybatis.mapper-locations=classpath:sqlMap/*.xml
三、添加实体类 User
@Data
public class User {

    private Long id;

    private String username;

    private String password;

    private int sex;

    private LocalDateTime birthday;

}
四、添加数据访问类 UserRepository

在类上添加 @Mapper 注解,项目启动的时候才会自动加载该类至 Spring 容器,也可以在启动上加 @MapperScan 注解并设置 basePackages 属性,设置加载 mapper 的包路径。

@Mapper
public interface UserRepository {

    int save(User user);

    int deleteById(Long id);

    User getOne(Long id);

}
五、添加控制器 UserController
@RestController
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @RequestMapping("/getUser/{id}")
    public User getUser(@PathVariable(value = "id") long id) {
        return userService.getUser(id);
    }

}
六、验证

启动应用,访问路径 localhost:8080/getUser/1,访问结果如下所示,表示可以正确通过 Mybatis 访问 mysql 数据库

{
    "id": 1,
    "username": "admin",
    "password": "123",
    "sex": 1,
    "birthday": "1997-07-01T00:00:00"
}

设置打印 SQL 语句

在 application.properties 添加,其中 com.msf.respository 是 mapper 类所在包路径

logging.level.com.msf.respository=debug
发布了153 篇原创文章 · 获赞 22 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/gongm24/article/details/83185695