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注解
springboot整合mybatis步骤以及错误集合的更多相关文章
- 【SpringBoot系列1】SpringBoot整合MyBatis
前言: 一直看网上说SpringBoot是解锁你的配置烦恼,一种超级快速开发的框架.一直挺想学的,正好最近也有时间,就学了下 这个是SpringBoot整合MyBatis的一个教程,用了阿里的drui ...
- SpringBoot整合mybatis及注意事项
SpringBoot整合mybatis及注意事项 主要步骤 添加依赖 mybatis 在配置文件中配置数据源信息 编写pojo mapper接口 mapeer映射文件 手动配置mybatis的包扫描 ...
- 001 SringBoot基础知识及SpringBoot整合Mybatis
1.原有Spring优缺点分析 (1)优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品.无需开发重量级的Enterprise J ...
- Java开发学习(三十九)----SpringBoot整合mybatis
一.回顾Spring整合Mybatis Spring 整合 Mybatis 需要定义很多配置类 SpringConfig 配置类 导入 JdbcConfig 配置类 导入 MybatisConfig ...
- SpringBoot整合Mybatis注解版---update出现org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found. Available parameters are [arg1, arg0, param1, param2]
SpringBoot整合Mybatis注解版---update时出现的问题 问题描述: 1.sql建表语句 DROP TABLE IF EXISTS `department`; CREATE TABL ...
- SpringBoot整合Mybatis完整详细版二:注册、登录、拦截器配置
接着上个章节来,上章节搭建好框架,并且测试也在页面取到数据.接下来实现web端,实现前后端交互,在前台进行注册登录以及后端拦截器配置.实现简单的未登录拦截跳转到登录页面 上一节传送门:SpringBo ...
- SpringBoot整合Mybatis完整详细版
记得刚接触SpringBoot时,大吃一惊,世界上居然还有这么省事的框架,立马感叹:SpringBoot是世界上最好的框架.哈哈! 当初跟着教程练习搭建了一个框架,传送门:spring boot + ...
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
1.前言 本文主要介绍使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例. 使用技术:SpringBoot.mybatis.shiro.thymeleaf.pagehelp ...
- SpringBoot整合Mybatis,TypeAliases配置失败的问题
SpringBoot整合Mybatis,TypeAliases配置失败的问题 问题描述 在应用MyBatis时,使用对象关系映射,将对象和Aliase映射起来. 在Mybatis的文档明确写出,如果你 ...
随机推荐
- HCIA-Datacom 3.4 实验四:实现VLAN间通信实验
实验介绍: 划分VLAN后,不同VLAN的用户间不能二层互访,这样能起到隔离广播的作用.但实际应用中,不同VLAN的用户又常有互访的需求,此时就需要实现不同VLAN的用户互访,简称VLAN间互访.华为 ...
- 如何定义 Java 的回调函数,与 JavaScript 回调函数的区别
JavaScript 中的回调函数 在 JavaScript 中经常使用回调函数,比如:get 请求.post 请求等异步任务.在我们请求之前以及请求之后,都需要完成一些固定的操作,比如:请求之前先从 ...
- 3-12 Python函数定义与调用
Python 函数 函数概念 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.如print() range()函数,但你也可以自己创建函 ...
- 持久化-Word库加载项劫持
持久化-Word库加载项劫持 利用wll.xll和dll的特性来利用的 重点利用office word的信任文件来进行加载恶意代码
- 【java】学习路径41-使用缓冲输入输出复制文件
结论:Buffered+数组 这种方式速度是最快的. public void testBufferedIO(String source,String target){ BufferedInputStr ...
- 第四十篇:Vue的生命周期(一)
好家伙,军训结束了,回归 Vue实例的生命周期 1.什么是生命周期? 从Vue实例创建,运行到销毁期间总是伴随着各种各样的事件,这些事件,统称为生命周期. 2.什么是生命周期钩子? 生命周期函数的别称 ...
- KingbaseES 如何把一个schema下的所有对象访问权限授权给其他用户
用户需求:新建一个用户 B,需要能够查询A用户的所有表,并且对以后新建的表也要有select权限. 问题分析:对于现有的表可以通过动态sql批量进行授权,但是未来新建的表要如何进行授权呢? 查询了帮助 ...
- 【读书笔记】C#高级编程 第七章 运算符和类型强制转换
(一)运算符 类别 运算符 算术运算符 + - * / % 逻辑运算符 & | ^ ~ && || ! 字符串连接运算符 + 增量和减量运算符 ++ -- 移位运算符 < ...
- 操作系统学习笔记10 | I/O、显示器与键盘
从这一部分开始介绍操作系统的设备驱动,操作系统通过文件系统的抽象驱动设备让用户能够使用显示器.键盘等交互工具.并讲解printf和scanf是如何实现敲下键盘将字符显示到屏幕上的. 参考资料: 课程: ...
- Ubuntu22.04 安装配置流水账
前两天为了测一个CH340的bug, 装了三遍20.04. bug解决完, 心想反正也要重新装各种软件, 不如直接装22.04吧. 把涉及的安装记录一下方便将来参考. 制作启动U盘 在Ubuntu网站 ...