springboot整合mybatis步骤以及错误集合

1.首先在springboot项目中的pomx文件引入官方的依赖

           <groupId>org.mybatis.spring.boot</groupId>
           <artifactId>mybatis-spring-boot-starter</artifactId>
           <version>2.1.4</version>
       </dependency>

2.创建mybatis.xml 和 /main/mapper /main/bean /main/sevice 类文件 以及mapper/*.mapper 文件


注意myatis.xml 里面为空,因为springboot会自己配置相关的文件。 xxxmapper(interface)名字应该个 xxxxmapper.xml文件中的nameScape一致,否则会报错(mybatis里面的配置流程)

3.接下来就是在Controller里面填写访问连接

ben interface service controlle 四样缺一不可

下面为我个人的配置代码

bean

@Data
public class Employees {
    private Integer id;
    private  String name;
}

interface

import com.atguigu.admin.bean.Employees;

import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface EmployeesMapper {
    public Employees getEmploye(Integer id);
}

service

import com.atguigu.admin.bean.Employees;
import com.atguigu.admin.mapper.EmployeesMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class EmployeesService {
    @Autowired
    EmployeesMapper employeesMapper; //爆红不碍事
    public Employees getEmploye(Integer id){
        return  employeesMapper.getEmploye(id);
    }
}

controller


   @ResponseBody
    @GetMapping("/e")
    public Employees getById(@RequestParam("id") Integer id){

        Employees employe = employeesService.getEmploye(id);
//        log.info("对象:{}",employe);
//        System.out.println(employe.toString());
        return employe;
    }

最后的运行结果对比图

运行结果

数据库图

错误集合

1.mybatis配置错误

连接:https://blog.csdn.net/zzhongcy/article/details/123822195

2.个人遇到的错误,首先是我的项目运用了thymeleaf,但是由于我忘记加上@RespondBody注解导致出现错误

org.thymeleaf.exceptions.TemplateInputException: Error resolving template 报错

解决方法如下:

1.在controller层请求处理完了返回时,没有使用@RestController或@ResponseBody而返回了非json格式

我用了这个办法,确实解决了,没有报错,但是跳转的页面显示就是index这字符,根本没跳页面,所以我又查了这个问题,其他博客有人回答了,@Restcontroller给页面返回的是字符串类型而不是json类型,必须将@Restcontroller改回@controlle,然后改回来又报错。。。当初真的绝望,死循环!!!然后下面几种方法对我都没用,但是可能对你们有用,我也一起分享一下!
2.在你的controller层对应的方法返回html路径及名称时,在前面多加了一个/

例如:return "/index",正式这个/导致报错的,解决:去掉返回前面的/即可,例如return "/index"例如:return "/index",正式这个/导致报错的,解决:去掉返回前面的/即可,例如return "/index"
总结:建议加上@ResponseBody注解

posted @ 2022-10-25 22:04  wiselee/  阅读(91)  评论(0编辑  收藏  举报