当前位置:   article > 正文

springboot整合Mybatis

springboot整合Mybatis

1、创建springboot项目,勾选Spring web、MyBatis Framework、MySQL Driver

  1. 当前springboot选择的是2.6.13版本,jdk1.8
  2. 尽量选2.几的springboot
  3. 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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

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);
}


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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 '逻辑删除 1true)已删除, 0false)未删除',
  `gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
  `gmt_modified` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=8 COMMENT='书本信息表';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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());
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号