SpringBoot整合Mybatis

文章目录

  • 前言
  • 一、步骤
    • 1、创建项目
    • 2、pom文件
    • 3、yml文件配置
  • 二、测试
    • 1、实体类
    • 2.接口文件
    • 3.mapper.xml
    • 4.controller
    • 页面测试

前言

本文分为两个部分,第一部分为整合步骤,第二部分为测试
从此案例可以看出springboot框架的强大之处,从前复杂繁琐的配置如今交由springboot负责,让我们摆脱了配置地狱,从而专心于页面的逻辑处理

一、步骤

1、创建项目

SpringBoot整合Mybatis_第1张图片
SpringBoot整合Mybatis_第2张图片

2、pom文件

我们引入mybatis-spring-boot-starter以及druid连接池

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.kuang</groupId>
    <artifactId>springboot-05-mybatis</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-05-mybatis</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</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</artifactId>
            <version>2.1.2</version>
        </dependency>

        <!--druid数据连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.21</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.21</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

3、yml文件配置

server:
  port: 8080
spring:
  datasource:
    password: root
    username: root
    url: jdbc:mysql://localhost:3306/ssm-crud?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource

#整合mybatis,设置别名,识别mapper文件
mybatis:
  type-aliases-package: com.kuang.pojo
  mapper-locations: classpath:mybatis/mapper/*.xml

二、测试

1、实体类

为了方便测试我们先创建数据库中的user表对应的实体类
SpringBoot整合Mybatis_第3张图片
实体类User

package com.kuang.pojo;

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

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
     
    private int id;
    private String name;
    private String pwd;
}

2.接口文件

package com.kuang.mapper;

import com.kuang.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface UserMapper {
     

    List<User> queryAllUsers();

    User queryUserById(int id);

    //增加数据
    void insertUser(User user);

}

3.mapper.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.kuang.mapper.UserMapper">
    <insert id="insertUser" parameterType="com.kuang.pojo.User">
        insert into user values (#{
     id},#{
     name},#{
     pwd})
    </insert>
    <!--    查询全部学生-->

    <select id="queryAllUsers" resultType="User">
        select * from user
    </select>
    <select id="queryUserById" resultType="com.kuang.pojo.User" parameterType="int">
        select * from user where id=#{
     id}
    </select>
</mapper>

4.controller

package com.kuang.controller;

import com.kuang.mapper.UserMapper;
import com.kuang.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;
@Controller
public class UserController {
     

    @Autowired
    UserMapper userMapper;

    @RequestMapping("/getAllUsers")
    @ResponseBody
    public List<User> getAllUsers(){
     
        List<User> users = userMapper.queryAllUsers();
        return users;
    }
}

页面测试

SpringBoot整合Mybatis_第4张图片
数据查询成功,SpringBoot整合Mybatis成功

你可能感兴趣的:(mybatis,spring,boot,后端,java,软件框架)