微人事第五天:springboot整合mybatis

1.创建完springboot项目后,配置pom.xml文件

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>

2.application.properties中配置数据库连接信息

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/javaboy?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver


3.实体类User
实体类User与表user对应,表中的字段和实体类中的属性名需要保持一致。

package org.javaboy.mybatis.bean;

public class User {
    private Integer id;
    private String username;
    private String address;

    public Integer getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", address='" + address + '\'' +
                '}';
    }
}

4.mapper类

package org.javaboy.mybatis.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.javaboy.mybatis.bean.User;

import java.util.List;

@Mapper
public interface UserMapper {
    List<User> getAllUser();
}

在ssm中写好mapper类之后,一般是通过xml文件扫描进来,在springboot中在mapper类中添加@Mapper注解。或者在启动类中添加扫描包。

5.UserMapper.xml
xml文件中写上查询的sql语句。

<?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="org.javaboy.mybatis.mapper.UserMapper">
    <select id="getAllUser" resultType="org.javaboy.mybatis.bean.User">
        select * from user;
    </select>
</mapper>

6.测试类

package org.javaboy.mybatis;

import org.javaboy.mybatis.bean.User;
import org.javaboy.mybatis.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class MybatisApplicationTests {

    @Autowired
    private UserMapper userMapper;

    @Test
    void contextLoads() {
        List<User> allUser = userMapper.getAllUser();
        System.out.println(allUser);
    }

}

注入UserMapper类,调用接口中的方法执行查询操作,查看结果:
在这里插入图片描述
出现这种报错的原因:
1.select中的id名和mapper中的方法名不一样。
在这里插入图片描述
2.xml中的位置放置错误,xml文件没有被识别。
UserMapper.xml文件应该放在/resources/org/javaboy/mybatis/mapper/UserMapper.xml目录下。

打开target查看:
在这里插入图片描述
可以看到xml文件没有找到,所以可以知道是xml文件放错位置。
放置好位置再运行
在这里插入图片描述

查询成功在这里插入图片描述

发布了287 篇原创文章 · 获赞 24 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41998938/article/details/104033590