如何快速使用SpringBoot集成MyBatis

本文详细介绍了如何在Spring Boot项目中集成MyBatis连接MySQL数据库,包括添加相关依赖、配置application.yaml、编写测试用例以及创建Mapper接口和XML文件。通过这些步骤,可以实现数据库的连接并进行数据查询。注意MySQL驱动版本需与数据库版本匹配,避免连接错误。
摘要由CSDN通过智能技术生成

我看了一下网上大多数文章对于mybatis的连接都没有一个清晰的说明,大多数都很复杂

这里我简单总结一下

首先我们需要导入相关的mybatis的依赖

  <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>

这里大家需要注意一点 MYSQL的版本必须和mysql-connector-java的依赖版本相同 不然会在连接时报错 博主是用的8.0的mysql所以这里是8.0的版本

其次我们在resources文件下面创建一个application.yaml的文件做好如图所示的配置

server:
  port: 8081
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: 

其次,到了这一步大家就可以测试是否mysql连接成功了

@SpringBootTest
class WebApplicationTests {
  @Autowired
  DataSource  dataSource;
 
    @Test
    void contextLoads() {
        System.out.println(dataSource.getClass());
      try {
        System.out.println(dataSource.getConnection());
      } catch (SQLException throwables) {
        throwables.printStackTrace();
      }
      
    }

}

测试成功会返回一段字符串,并且没有爆红就说明已经连接成功了

然后 我们就需要将查询出来的结果做一个关系映射在我们的实例上面

我们先创建一个user类

package project.Pojo.users;

import java.util.Date;


public class user {
    private int id;
    private  String account;
    private   String password;
    private  String email;
    private Date  create_time;
    private  Date update_time;

    public  user(){}

    public user(int id, String account, String password, String email, Date create_time, Date update_time) {
        this.id = id;
        this.account = account;
        this.password = password;
        this.email = email;
        this.create_time = create_time;
        this.update_time = update_time;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    @Override
    public String toString() {
        return "user{" +
                "id=" + id +
                ", account='" + account + '\'' +
                ", password='" + password + '\'' +
                ", email='" + email + '\'' +
                ", create_time=" + create_time +
                ", update_time=" + update_time +
                '}';
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Date getCreate_time() {
        return create_time;
    }

    public void setCreate_time(Date create_time) {
        this.create_time = create_time;
    }

    public Date getUpdate_time() {
        return update_time;
    }

    public void setUpdate_time(Date update_time) {
        this.update_time = update_time;
    }
}

这里大家可以使用lombok来简化代码,但我觉得这种方式不便于维护,取决于大家的选择

然后 我们在项目下面建一个mapper包里面建一个mapper类,如图

 mapper测试源代码如图  这里大家可以用注解的方式写sql但是博主不推荐,因为动态sql就不能使用这种方式,相当于sql是写死的了

package project.userMapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import project.Pojo.users.user;

import java.util.List;

//这个注解表示一个mybatis的mapper类
@Mapper
//类似于component
@Repository
public interface  userMapper {

    List<user> queryUserList();

    user userById(int id );
}

然后我们还要在resources文件下创建一个usermapper.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="project.userMapper.userMapper">
<select id="queryUserList" resultType="user">
    select * from user
</select>
</mapper>

 这里里面需要注意一下    namespace里面对应的是具体的mapper类,resultType这里是返回的所需要的对象类型,这里是需要包的全路径名,这里我在yaml里面设置了别名的方式所以可以直接用   

最后再将mybatis整合到spring中

package project;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import project.Pojo.admins.admin;
import project.Pojo.users.user;
import project.userMapper.userMapper;

import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.List;

@SpringBootTest
class WebApplicationTests {

  @Autowired
  userMapper userMapper;
    @Test
    void contextLoads() {

      List<user> users = userMapper.queryUserList();
      System.out.println(users);
    }

}

开始测试!

对应结果如图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值