iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot整合MyBatis过程中可能遇到的问题有哪些
  • 177
分享到

SpringBoot整合MyBatis过程中可能遇到的问题有哪些

2023-07-02 14:07:17 177人浏览 泡泡鱼
摘要

本文小编为大家详细介绍“SpringBoot整合mybatis过程中可能遇到的问题有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“springBoot整合MyBatis过程中可能遇到的问题有哪些”文章能帮助大家解决疑惑,下面跟着小编的

本文小编为大家详细介绍“SpringBoot整合mybatis过程中可能遇到的问题有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“springBoot整合MyBatis过程中可能遇到的问题有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

尽量不要用 jUnit 提供的单元测试

提一个要求尽量使用SpringBoot 提供的测试类进行测试,能够自动扫描组件以及使用容器中的bean对象

还有如果有组件 中存在注入对象的话,那么必须在SpringBoot容器中取出 这个组件,进而使用注入的对象的功能!!!

今天有个错误,花了很长时间来解决,最后发现是一个很低级很基础的错误!

这是mapper接口,使用@mapper 相当于将接口的代理对象注册进入bean中,但是上下文中找不到(其实是正常)

因为 @Mapper 这个注解是 Mybatis 提供的,而 @Autowried 注解是 Spring 提供的,idea能理解 Spring 的上下文,但是却和 Mybatis 关联不上。而且我们可以根据 @Autowried 源码看到,默认情况下,@Autowried 要求依赖对象必须存在,那么此时 IDEA 只能给个红色警告了。

package com.bit.mapper;import com.bit.pojo.User;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;@Mapperpublic interface UserMapper {    User selectById(@Param("userid") Integer id);}

这是与mapper接口对应的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="com.bit.mapper.UserMapper">        <select id="selectById" resultType="com.bit.pojo.User">            select * from users where id = #{userid}        </select></mapper>

将java目录下的xml文件加入resource资源中,在build 标签中嵌套,同样没有问题

<resources>        <resource>                <directory>src/main/java</directory>                <includes>                        <include>**/*.xml</include>                </includes>        </resource></resources>

然后我们写service层,写了一个UserService接口,有些了一个UserServiceImpl 接口的实现类

在这个实现类中,注入UserMapper 一直提示无法注入,我一直认为有问题(但是最后发现没问题)

SpringBoot整合MyBatis过程中可能遇到的问题有哪些

把service实现类写完了,也没问题

package com.bit.service;import com.bit.mapper.UserMapper;import com.bit.pojo.User;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;@Servicepublic class UserServiceImpl implements UserService{    @Autowired    private UserMapper userMapper;    @Override    public User queryById(Integer id) {        System.out.println("进入了service");        return userMapper.selectById(id);    }}

然后我直接去测试了,我测试的呢?

实例化了UserService,new了一个对象,然后直接调用方法,看是否能够调用UserMapper查询到数据库。然后就不断的包 空指针异常的错误

@SpringBootTestclass BitApplicationTests {    @Test    void contextLoads() {        UserService userService = new UserServiceImpl();        userService.queryById(13);        System.out.println(userService);        System.out.println(userService.queryById(15));        System.out.println(userService.queryById(13));    }}

SpringBoot整合MyBatis过程中可能遇到的问题有哪些

&emsp;&emsp;我一度以为是mapper接口没有注入到UserServcie中,导致调用UserServcie的方法 就是调用 UserMapper的方法是空的,以为是Mapper接口的问题,各种搜索怎么解决,经过几个小时之后,在他人的博客中找到了答案

&emsp;&emsp;我们的UserMapper 注入到了 UserServiceImpl ,我们不能直接使用 UserServcieIml, 如果在其他的类中进行使用其功能,必须将这个类注入到 当前类中,从容器中拿到这个UserService,才能正确的进行调用,不会发生空指针异常,我一直没有发现,这是也该非常低级的错误。

正确做法: 先装配到当前对象中,再从容器中拿到bean进行使用

@SpringBootTestclass BitApplicationTests {    @Autowired    private UserService userService;    @Test    void contextLoads() {        System.out.println(userService.queryById(15));        System.out.println(userService.queryById(13));    }}

读到这里,这篇“SpringBoot整合MyBatis过程中可能遇到的问题有哪些”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: SpringBoot整合MyBatis过程中可能遇到的问题有哪些

本文链接: https://www.lsjlt.com/news/342626.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot整合MyBatis过程中可能遇到的问题有哪些
    本文小编为大家详细介绍“SpringBoot整合MyBatis过程中可能遇到的问题有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot整合MyBatis过程中可能遇到的问题有哪些”文章能帮助大家解决疑惑,下面跟着小编的...
    99+
    2023-07-02
  • SpringBoot详解整合MyBatis过程中可能遇到的问题
    尽量不要用 jUnit 提供的单元测试 提一个要求尽量使用SpringBoot 提供的测试类进行测试,能够自动扫描组件以及使用容器中的bean对象 还有如果有组件 中存在注入对象的话...
    99+
    2022-11-13
  • oracle 11.2.0.4 DataGuard Broker配置过程中可能遇到的问题有哪些
    这篇文章主要介绍了oracle 11.2.0.4 DataGuard Broker配置过程中可能遇到的问题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着...
    99+
    2022-10-18
  • 使用DBLink过程中遇到的问题有哪些
    这篇文章给大家分享的是有关使用DBLink过程中遇到的问题有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.     &n...
    99+
    2022-10-18
  • 使用Redis可能遇到的问题有哪些
    这篇文章主要介绍使用Redis可能遇到的问题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!这篇文章,我想和你聊一聊在使用 Redis 时,可能会踩到的「坑」。如果你在使用 Re...
    99+
    2022-10-18
  • pytorch中DataLoader()过程中会遇到的问题有哪些
    这篇文章将为大家详细讲解有关pytorch中DataLoader()过程中会遇到的问题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如下所示:RuntimeError: stack expects ...
    99+
    2023-06-15
  • sqlite3迁移mysql可能遇到的问题有哪些
    小编给大家分享一下sqlite3迁移mysql可能遇到的问题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!问题列表1、sq...
    99+
    2022-10-18
  • 小程序开发过程中遇到的问题有哪些
    这篇文章主要介绍了小程序开发过程中遇到的问题有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇小程序开发过程中遇到的问题有哪些文章都会有所收获,下面我们一起来看看吧。1、确定需求问题虽然说小程序是可以作为服务...
    99+
    2023-06-27
  • Vue插件实现过程中遇到的问题有哪些
    这篇文章将为大家详细讲解有关Vue插件实现过程中遇到的问题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。场景介绍最近做H5遇到了一个场景:每个页面需要展示一个带有标题的头部。一个实现思路是使用全局组...
    99+
    2023-06-20
  • 微信小程序开发过程中遇到问题有哪些
    小编给大家分享一下微信小程序开发过程中遇到问题有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!微信小程序 开发过程中遇到问题总结第一次正式开发一个小程序,就从以下几个方面来谈一谈小程序...
    99+
    2022-10-19
  • vue.js打包之后可能会遇到的问题有哪些
    这篇文章将为大家详细讲解有关vue.js打包之后可能会遇到的问题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最近在用webpack+vue写项目,经过几天的熬夜加...
    99+
    2022-10-19
  • 小程序开发中遇到的问题有哪些
    这篇文章主要介绍小程序开发中遇到的问题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!小程序面试题bindtap和catchtap的区别是什么?bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止...
    99+
    2023-06-14
  • Android小程序开发中遇到的问题有哪些
    本篇内容介绍了“Android小程序开发中遇到的问题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!渲染列表时用 block 包裹<...
    99+
    2023-06-29
  • 租用香港服务器运行过程中遇到的常见问题有哪些
    租用香港服务器运行过程中遇到的常见问题有:1、香港服务器遭受黑客攻击,访问量突然剧增,导致服务器无法正常访问;2、用户操作不当导致香港服务器出现故障;3、香港服务器上运行的应用程序过多,CPU使用率过高,导致香港服务器死机;4、香港服务器出...
    99+
    2022-10-22
  • 微信小程序中遇到的iOS兼容性问题有哪些
    这篇文章主要介绍了微信小程序中遇到的iOS兼容性问题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.iOS中input的placeh...
    99+
    2022-10-19
  • 数据库中90%程序员面试会遇到的索引优化问题有哪些
    这篇文章主要介绍数据库中90%程序员面试会遇到的索引优化问题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!关于索引,分为以下几点来讲解(技术文):索引的概述(什么是索引,索引的...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作