MyBatis的安装以及在SpringBoot中报错的情况:

目录

一、SpringBoot中安装MyBatis:

二、MyBatis的简单使用:

       ①首先我们要在application.properties文件中进行MyBatis的配置:

                ②我们要根据需要操作的数据库创建对应的类,同时构建Setter()、Getter()、toString()、有参和无参构造等方法。以类User为例:

        ③构建mapperUser接口(具体文件位置见上文):

        ④在测试类中进行运行测试:

  三、运行时报错:


一、SpringBoot中安装MyBatis:

        我们可以在创建SpringBoot工程的时候增加选择两个依赖即可:

        安装完成后就可以在pom文件中找到如下依赖:

        这就证明可以开始使用MyBatis了。

二、MyBatis的简单使用:

        ①首先我们要在application.properties文件中进行MyBatis的配置:

        

        需要注意的是,我们要根据操作的数据库进行配置,如ip地址(localhost)、数据库名称(Mybatis)、密码(123456)。

#驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
#连接数据库的用户名
spring.datasource.username=root
#连接数据库的密码
spring.datasource.password=123456


        ②我们要根据需要操作的数据库创建对应的类,同时构建Setter()、Getter()、toString()、有参和无参构造等方法。以类User为例:

        文件目录:

        

        完整User类代码:

package com.myproject.mybatis.pojo;


public class User {
    private Integer id;
    private String name;
    private Short age;
    private Short gender;
    private  String phone;

    public User() {
    }

    public User(Integer id, String name, Short age, Short gender, String phone) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.phone = phone;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", gender=" + gender +
                ", phone='" + phone + '\'' +
                '}';
    }

    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Short getAge() {
        return age;
    }

    public void setAge(Short age) {
        this.age = age;
    }

    public Short getGender() {
        return gender;
    }

    public void setGender(Short gender) {
        this.gender = gender;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}

        数据库代码:

create table user(
    id int unsigned primary key auto_increment comment 'ID',
    name varchar(100) comment '姓名',
    age tinyint unsigned comment '年龄',
    gender tinyint unsigned comment '性别, 1:男, 2:女',
    phone varchar(11) comment '手机号'
) comment '用户表';

insert into user(id, name, age, gender, phone) VALUES (null,'小王',55,'1','18800000000');
insert into user(id, name, age, gender, phone) VALUES (null,'小金',45,'1','18800000001');
insert into user(id, name, age, gender, phone) VALUES (null,'小青',38,'1','18800000002');
insert into user(id, name, age, gender, phone) VALUES (null,'小紫',42,'2','18800000003');
insert into user(id, name, age, gender, phone) VALUES (null,'小左',37,'1','18800000004');
insert into user(id, name, age, gender, phone) VALUES (null,'小右',48,'1','18800000005');

        ③构建mapperUser接口(具体文件位置见上文):

        完整代码:(重点关注@Mapper的使用!!!!)

package com.myproject.mybatis.Mapper;
import com.myproject.mybatis.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper  //运行时自动生成该接口的实现类对象(代理对象),并且将该对象交给IOC容器管理
public interface mapperUser {

    //填写需要的SQL语句:
    @Select("select * from user")

    public List<User> user();
}

        ④在测试类中进行运行测试:

        

        完整代码:

package com.myproject.mybatis;

import com.myproject.mybatis.Mapper.mapperUser;
import com.myproject.mybatis.pojo.User;
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 mapperUser mapper;


    @Test
    public void SqlTest(){
        // 构建一个可以装获取到数据的List
        List<User> userList = mapper.user();

        // 遍历输出
        userList.stream().forEach(user ->{
            System.out.println(user);
        });
    }
}

  三、运行时报错:

        具体原因并不能完全确定,但可以通过以下方式尝试

        1、依赖注入时:

                使用 @Autowired(required=false).。

        2、注意每个文件上方的package位置是否与目录对应。只能放在启动类及其子类目录中

        3、配置数据库时,数据库使用、密码设置、ip设置、密码设置是否正确。

        4、在pom中调整Mybatis的版本为2.3.1。

       目前也只能搜集到上述解决方案。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值