mybatis初始配置及错误说明

1. mybatis使用现在进行了简化,可以直接只引入如下pom就可以了

<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>1.1.0</version>
</dependency>

2. springboot配置时进行如下配置

启动的application添加注解,如下

@SpringBootApplication
@MapperScan(basePackages = "com.example.demo.dao")
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

启动的application.properties添加配置,如下

mybatis.mapper-locations=classpath:com/example/demo/mapper/xml/*Mapper.xml

3. 启动的报错记录说明

如果没有配置这个或者配置错误,@MapperScan(basePackages = "com.example.demo.dao"),会有如下报错,因为没有创建UserMapper的实例导致注入失败

Description:

Field userMapper in com.example.demo.web.UserController required a bean of type ‘com.example.demo.mapper.UserMapper‘ that could not be found.

The injection point has the following annotations:
    - @org.springframework.beans.factory.annotation.Autowired(required=true)

如果application.properties没有正确配置mapper文件的位置,在访问到具体的mapper实现时会有如下报错

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.demo.mapper.UserMapper.selectByPrimaryKey
    at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:214) ~[mybatis-3.4.0.jar:3.4.0]
    at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:48) ~[mybatis-3.4.0.jar:3.4.0]
    at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:59) ~[mybatis-3.4.0.jar:3.4.0]
    at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52) ~[mybatis-3.4.0.jar:3.4.0]
    at com.sun.proxy.$Proxy56.selectByPrimaryKey(Unknown Source) ~[na:na]
    at com.example.demo.web.UserController.selectUserById(UserController.java:23) ~[classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121]

原文地址:https://www.cnblogs.com/jyris/p/11254343.html

时间: 2024-10-12 13:02:54

mybatis初始配置及错误说明的相关文章

笔记:MyBatis XML配置详解

MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息.文档的顶层结构如下: configuration 配置 properties 属性 settings 设置 typeAliases 类型命名 typeHandlers 类型处理器 objectFactory 对象工厂 plugins 插件 environments 环境 environment 环境变量 transactionManager 事务管理器 dataSource

Spring+SpringMVC+Mybatis环境配置

文件目录展示 resouce目录展示 src目录展示 WebRoot目录展示 jdbc.propertise driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/hrm_db3?characterEncoding=UTF-8 username=root password=root #定义初始连接数 initialSize=0 #定义最大连接数 maxActive=20 #定义最大空闲 maxIdle=20 #定义最小空闲 mi

idea spring+springmvc+mybatis环境配置整合详解

idea spring+springmvc+mybatis环境配置整合详解 1.配置整合前所需准备的环境: 1.1:jdk1.8 1.2:idea2017.1.5 1.3:Maven 3.5.2 2.查看idea中是否安装Maven插件: 2.1:File --> Settings --> Plugins 2.2:如下图所示的步骤进行操作(注:安装完插件,idea会重新启动) 3.idea创建Maven项目的步骤 4.搭建目录结构 下图就是我搭建Maven项目之后,添加对应的目录和文件 5.p

IDEA 初始配置教程 很全偶

IDEA 初始配置教程 如果你是第一次使用 IDEA,或者对 IDEA 常用配置仍然不熟悉,那么本文就特别适合你. 本文只是根据我自己的使用经验来进行配置,不一定适合所有的情况,但是对你肯定会有帮助. IDEA 官方地址 https://www.jetbrains.com/idea/ 官方提供免费的[社区版],还有收费的[高级版](可以免费试用 1 个月). 下面的设置针对[高级版]进行设置,[社区版]由于功能不完整,所以设置也会有所不同,这里不做介绍. 初始启动界面  如果你第一次安装使用,首

Mybatis-Generator插件的使用与Spring集成Mybatis的配置

Mybatis-Generator插件 Mybatis-Generator是一个用于自动生成dao层接口.pojo以及mapper xml的一个Mybatis插件,该插件有三种用法:命令行运行.Eclipse插件.maven插件.个人觉得maven插件最方便,可以在eclipse/intellij idea等ide上通用,本文也是介绍在maven中配置并使用这个插件. 现在我mysql中有一个school数据库,该数据库有student.cls两张表格,表结构如下: student表: cls表

springboot+mybatis+Druid配置多数据源(mysql+postgre)

springboot+mybatis+Druid配置多数据源(mysql+postgre)引入pom依赖设置application多数据源config配置db1config配置(主数据库配置)db2config配置(其他数据库)事务处理mapper层 springboot+mybatis+Druid配置多数据源(mysql+postgre) 参考资料: 第八章 springboot + mybatis + 多数据源 springboot + mybatis + druid + 多数据源 spri

原创:mysql5 还原至mysql 8.0.11数据库链接配置提示错误改动备注

原创:mysql5 还原至mysql 8.0.11数据库链接配置提示错误改有三: a) mysql 连接jar包版修改 b)类路径修改 c)配置连接池地址修改 因版本升级,首先要修改 1:mysql-connector-java 架包版本修改 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> !--原版本 5.1.6-->

OVS的初始配置

1.去掉bridge模块,为下面用OVS的模块奠定基础 rmmod bridge 2.insmod datapath/linux/openvswitch_mod.ko 3.insmod datapath/linux/brcompat_mod.ko 4.nkdir -p /usr/local/etc/openvswitch OVS的初始配置,布布扣,bubuko.com

Mybatis基本配置(一)

1. Mybatis介绍 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. 2. 准备jar包 1)mybatis-3.3.0.jar, Mybatis包. 2)sqljdbc4.jar ,因为我们要用到SQLS