SpringBoot整合MyBatis(整合分页插件)

1 .数据准备

# 建库
drop database if exists mydb;
create database mydb default charset utf8;
use mydb;
# 建表
create table book
(
    id     int unsigned auto_increment,
    name   varchar(255),
    author varchar(255),
    price  decimal(6, 1),
    primary key (id)
);
# 初始化book表的数据
use mydb;
insert into book
values (null, '《Java实战》', '张三', 80.5),
       (null, '《深入Java虚拟机》', '李四', 80),
       (null, '《PHP》', '王五', 25),
       (null, '《Html、CSS、JS入门实战》', '赵六', 33.5),
       (null, '《C++就业实战》', '赵四', 60),
       (null, '《C语言入门》', '王二', 60),
       (null, '《Golang入门到精通》', '唐三', 60),
       (null, '《.NET实战案例》', '小舞', 66),
       (null, '《Android入门开发》', '胡烈娜', 88.0),
       (null, '《Android高级》', '比比东', 52.0),
       (null, '《Java并发编程的艺术》', '华少', 26.0),
       (null, '《三天精通Python》', '李三', 36);

2 .添加依赖

<dependencies>
    <!--springboot起步依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>2.6.6</version>
    </dependency>
    <!--test-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <version>2.6.6</version>
    </dependency>
    <!--mybatis整合springboot起步依赖-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.2</version>
    </dependency>
    <!--mysql连接驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.28</version>
    </dependency>
    <!--lombok-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.24</version>
    </dependency>
    <!--分页插件起步依赖-->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.4.1</version>
    </dependency>
</dependencies>

3 .准备Java类

  1. 实体类entity

@Data
 public class Book {
     private String id;
     private String name;
     private String author;
     private double price;
 }
  1. Mapper接口

 @Mapper
 public interface BookMapper {
     List<Book> queryAll();
 }
  1. 启动类

 @SpringBootApplication
 public class App {
     public static void main(String[] args) {
         SpringApplication.run(App.class, args);
     }
 }

5 .准备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="cn.shun.mapper.BookMapper">
    <select id="queryAll" resultType="book">
        select *
        from book
    </select>
</mapper>

6 .application.yml配置

spring:
  #数据源配置
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3308/mydb
# mybatis相关配置
mybatis:
  mapper-locations:
    - classpath:mybatis/mapper/*.xml #mapper映射路径
  type-aliases-package: cn.shun.entity #实体别名包扫描
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #配置sql日志输出

# 分页插件相关配置
pagehelper:
  helper-dialect: mysql #mysql数据库
  reasonable: true #分页合理化
  support-methods-arguments: true

注意.xml文件路径,与application.yml中mapper-locations一致

7 .测试

编写springboot测试类,测试类注意应建在主程序App所在包以及子包下,不然扫不到

/**
 * <p>Project: Mybatis_beiyou-PACKAGE_NAME-cn.shun.mapper.T1
 * <p>Powered by yishun On 2023-03-13 11:00:55
 *
 * @author yishun [2465734101@qq.com]
 * @version 1.0
 * @since 17
 */
@SpringBootTest
public class BookMapperTest {
    @Autowired
    private BookMapper bookMapper;


    @Test
    void t1() {
        PageHelper.startPage(2,5);//第一个参数为页码,第二个参数为每页显示数量
        bookMapper.queryAll();
    }
}

8 .整合结果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值