org.apache.ibatis.annotations不存在的问题

 更新时间:2021年10月08日 10:59:40   作者:元无心  
这篇文章主要介绍了org.apache.ibatis.annotations不存在的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

org.apache.ibatis.annotations不存在

今天遇到了一个很有意思的bug。有人(还不止一个人)来问我,为什么项目启动不了,我说不可能啊,我这不跑得好好的吗,而且成功启动的也不止我一个啊。然后他就说,不信你来看,我过去一看,果然如此:

在这里插入图片描述

这就很有意思了。是不是配置文件的问题?我检查了一下,似乎并没有什么问题,而且这代码正在我本地跑着呢:

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

焦头烂额了半天,我突然想到,是不是Maven版本的问题?因为之前看书的时候,里面提到过,不要使用IDE内嵌的Maven,因为IDE内嵌的版本不一定一致,而版本不一致很容易导致构建行为的不一致。一查,他用的是2017年的IDEA。而这个包的发布时间呢?2018年3月14日。

在这里插入图片描述

于是,我让他更新一下版本,问题解决。话说写Maven配置的时候不在注释里写版本真的没问题吗……

bug解决:无法引入org.apache.ibatis.annotations.Select

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

@Select标签的方式搭建SpringBoot的Mybatis框架

xml搭建SpringBoot的Mybatis框架

package com.wl.course.dao; 
import com.wl.course.model.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select; 
import java.util.List;
 
/**
 * @Author: wl
 * @Description:
 * @DateTime: 2020/5/7 9:51
 * @Params:
 * @Return
 */
public interface UserMapper { 
    void deleteUser(Long id); 
    @Select("select * from user where id = #{id}")
    @Results({
            @Result(property = "username", column = "username"),
            @Result(property = "password", column = "password")
    })
    User getUser(Long id);
 
    @Select("select * from user where id = #{id} and username=#{name}")
    User getUserByIdAndName(@Param("id") Long id, @Param("name") String username);
 
    @Select("select * from user")
    List<User> getAll();
 
    // 使用xml方式
    User getUserByName(String username); 
}

@RestController这个是ResponseBody和Controller的集合,意思是return的数据都变成json的格式,返回到前端,不会跳转界面

如果想跳转页面的话,就需要把RestController改成Controller,就会跳转页面了。

    @GetMapping("/getBlogger")
    public String getBlogger(Model model) {
        Blogger blogger = new Blogger(1L, "wl", "123456");
        model.addAttribute("blogger", blogger);
        return "blogger";
    }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • eclipse的web项目实现Javaweb购物车的方法

    eclipse的web项目实现Javaweb购物车的方法

    这篇文章主要介绍了eclipse的web项目实现Javaweb购物车的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Java数组声明、创建、初始化基础

    Java数组声明、创建、初始化基础

    本文讲述了Java数组的几个相关的方面,讲述了对Java数组的声明、创建和初始化,并给出其对应的代码
    2012-12-12
  • @RequestParam注解加与不加有什么区别

    @RequestParam注解加与不加有什么区别

    这篇文章主要介绍了@RequestParam注解加与不加有什么区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • SpringBoot 多任务并行+线程池处理的实现

    SpringBoot 多任务并行+线程池处理的实现

    这篇文章主要介绍了SpringBoot 多任务并行+线程池处理的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 浅析Java集合及LIst接口

    浅析Java集合及LIst接口

    这篇文章主要介绍了Java集合及LIst接口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 如何解决SpringBoot2.6及之后版本取消了循环依赖的支持问题

    如何解决SpringBoot2.6及之后版本取消了循环依赖的支持问题

    循环依赖指的是两个或者多个bean之间相互依赖,形成一个闭环,SpringBoot从2.6.0开始默认不允许出现Bean循环引用,解决方案包括在全局配置文件设置允许循环引用存在、在SpringApplicationBuilder添加设置允许循环引用、构造器注入
    2024-10-10
  • Springboot校验工具类详细代码示例

    Springboot校验工具类详细代码示例

    这篇文章主要给大家介绍了关于Springboot校验工具类的相关资料,工具类里面主要是封装了一些常用字段验证方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Spring Web零xml配置原理以及父子容器关系详解

    Spring Web零xml配置原理以及父子容器关系详解

    这篇文章主要介绍了Spring Web零xml配置原理以及父子容器关系详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 基于idea 的 Java中的get/set方法之优雅的写法

    基于idea 的 Java中的get/set方法之优雅的写法

    这篇文章主要介绍了基于idea 的 Java中的get/set方法之优雅的写法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 解决JavaEE开发中字符编码出现乱码的问题

    解决JavaEE开发中字符编码出现乱码的问题

    下面小编就为大家带来一篇解决JavaEE开发中字符编码出现乱码的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07

最新评论