Springboot整合Mybatis

1、创建springboot项目

2、勾选mysql驱动和web驱动

3、pom.xml导入相关依赖

  <!--MyBatisPlus启动器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version> <!-- 这里修改版本号 -->
        </dependency>
<!--
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.5.3.1</version>
        </dependency>
-->

        <!--数据库驱动-->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!--lombok插件-->
        <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>

注意
mybatis - plus - boot - starter和mybatis - plus这两个依赖在功能上有一定的重叠,但在 Spring Boot 项目中,它们的角色有所不同,并且不是绝对缺一不可,具体取决于你的项目需求。
mybatis - plus - boot - starter依赖
这是专门为 Spring Boot 项目设计的起步依赖。它内部包含了许多自动配置相关的内容,可以让 MyBatis - Plus 与 Spring Boot 更好地集成。
当你在 Spring Boot 项目中引入mybatis - plus - boot - starter时,Spring Boot 会自动进行一系列的配置,例如自动配置数据源、MyBatis - Plus 的核心组件等。它会根据你的配置文件(如application.properties或application.yml)自动设置合适的参数,极大地简化了在 Spring Boot 环境下使用 MyBatis - Plus 的过程。
如果你正在开发一个 Spring Boot 应用并且想要快速集成 MyBatis - Plus,这个依赖是非常关键的。
mybatis - plus依赖
mybatis - plus这个依赖包含了 MyBatis - Plus 的核心功能,如增强的 CRUD 操作、条件构造器、代码生成器等基础功能组件。
在非 Spring Boot 项目或者你想手动配置 MyBatis - Plus 与 Spring(非 Spring Boot)的集成时,这个依赖是必不可少的。但在 Spring Boot 项目中,如果你已经引入了mybatis - plus - boot - starter,很多情况下mybatis - plus依赖中的内容已经被包含或者自动配置了。
4、配置application.yml文件

#服务器端口号
server:
  port: 8080
spring:
  #数据库连接驱动
  datasource:
    url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: root
#配置MyBatisPlus
mybatis-plus:
  #配置识别Mybatisplus的XML文件
  mapper-locations: classpath:mapper/*.xml
  #配置包名别名
  type-aliases-package: com.mes.pojo
  #配置sql打印
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

5、创建对应包名

6、创建pojo类

package com.mes.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Users {
    private Integer id;
    private String name;
    private String password;
}

7、创建mapper,并且继承BaseMapper接口

package com.mes.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
//import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.mes.pojo.Users;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
public interface UsersMapper extends BaseMapper<Users> {
    public List<Users> getAll();
}

@Mapper表示呗spring容器接管 是一个mapper类
8、创建service和对应的serviceImpl类
service继承IService接口
serviceImpl继承ServiceImpl实现类并且实现刚才创建的service

package com.mes.service;

//import com.baomidou.mybatisplus.service.IService;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.pojo.Users;

import java.util.List;

public interface UsersService extends IService<Users> {
    public List<Users> getAll();
    public List<Users> getAllUsers();
}
package com.mes.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.mes.mapper.UsersMapper;
import com.mes.pojo.Users;
import com.mes.service.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Collections;
import java.util.List;


@Service
public class UsersServiceImpl extends ServiceImpl<UsersMapper, Users> implements UsersService {

    @Autowired
    UsersMapper usersMapper;

    @Override
    public List<Users> getAll() {
        return usersMapper.getAll();
    }

    @Override
    public List<Users> getAllUsers(){
        return usersMapper.selectList(null);
    }
}

9、创建mapper.xml文件在resources目录下

<?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.mes.mapper.UsersMapper">
    <select id="getAll" resultType="Users">
        select * from  users;
    </select>
</mapper>

这里是识别xml文件的配置路径

10、写一个Controller测试

package com.mes.controller;

import com.mes.service.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    UsersService usersService;

    @GetMapping("/list")
    public String listUser() {
        return usersService.getAll().toString();
    }

    @GetMapping("/list2")
    public String listUser2() {
        return usersService.getAllUsers().toString();
    }
}

启动成功去访问localhost:8080/user/list 看下有没有数据

posted @ 2024-10-13 20:44  泡泡大可爱  阅读(12)  评论(0编辑  收藏  举报