MyBatis 基于接口编程学习笔记

Mybatis系列(六)接口式编程 Mybatis系列之接口式编程 引言 在前面的文章《Mybatis系列之简单示例》曾有一段代码涉及到了接口式编程,当时并没有展开阐述,今天我们单独把这一段拿出来表一表。 在讲Mybatis接口式编程之前,我们先回忆一下前面是如何调用映射文件中的SQL代码的。通常情况下,都是使用SqlSession实例的selectXXX(selectOne, selectList, select 阅读详情

异常:

Exception in thread "main" org.apache.ibatis.binding.BindingException: Type interface com.yihaomen.mybatis.inter.IUserOperation is not known to the MapperRegistry.
 at org.apache.ibatis.binding.MapperRegistry.getMapper(MapperRegistry.java:42)
 at org.apache.ibatis.session.Configuration.getMapper(Configuration.java:655)
 at org.apache.ibatis.session.defaults.DefaultSqlSession.getMapper(DefaultSqlSession.java:218)
 at com.yihaomen.test.Test.main(Test.java:33)

 

原因:User.xml 文件中 mapper中:错误如下红色字体为错误命名空间,接口编程中应对应接口所在路径 ,绿色为正确配置。

<--------?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">
<--------!--namespace="com.yihaomen.mybatis.inter.IUserOperation"  -->
<--------mapper namespace="com.yihaomen.mybatis.models.UserMapper" >
    <--------select id="selectUserByID" parameterType="int" resultType="User">
        select * from `user` where id = #{id}
    <--------/select>
<--------/mapper>

注意:增加,更改,删除的时候要调用session.commit(),这样才会真正对数据库进行操作,否则是没有提交的。

多对一 遇到的异常 :在xml文件中 多方的

中type 不能直接写Article 而要写全 其路径:com.yihaomen.mybatis.model.Article

org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### The error may exist in com/yihaomen/mybatis/model/User.xml
### The error occurred while processing mapper_resultMap[resultUserArticleList]
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'Article'.  Cause: java.lang.ClassNotFoundException: Cannot find class: Article
 at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
 at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:51)
 at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:35)
 at com.yihaomen.test.Test.(Test.java:22)……
 ... 13 more
Exception in thread "main" java.lang.NullPointerException
 at com.yihaomen.test.Test.getUserArticles(Test.java:142)
 at com.yihaomen.test.Test.main(Test.java:35)

避坑指南:RK3588上编译EtherCAT 1.6时遇到的权限问题和模块安装错误 本文详细解析了在RK3588平台上编译EtherCAT 1.6时常见的权限问题和模块安装错误,提供了两种实战解决方案和嵌入式开发的通用权限管理策略。通过优化内核配置和编译参数,显著提升实时性能,帮助开发者高效完成EtherCAT主站部署。 阅读详情

相关推荐

AXI4-Stream FIFO IP核实战指南——从配置到跨时钟域处理

本文是AXI4-Stream FIFO IP核的实战指南,详细讲解了其作为数据流缓冲核心的作用。文章重点涵盖从Vivado环境下的IP核配置、关键参数(如深度与宽度)设定,到跨时钟域处理的完整流程。深入解析了TVALID/TREADY握手协议及TLAST等信号,并提供了常见问题排查与调试技巧,帮助开发者高效实现FPGA/SoC系统中可靠的数据流缓冲与同步。

weixin_29251567的博客 480

mybatis generator自动生成代码报The error occurred while processing mapper_resultMap[BaseResultMap]错误的解决方法

mybatis generator自动生成代码报The error occurred while processing mapper_resultMap[BaseResultMap]错误的解决方法

runwuwushengxiyu的博客 781

深圳SILAS(智能融合低空系统)无人机调度系统介绍

一、系统定位与核心目标SILAS(Smart Integrated Lower Airspace System)是深圳市为低空经济打造的“数字大脑”,由粤港澳大湾区数字经济研究院自主研发,定位为城市级低空飞行智能调度与管理平台。核心目标是解决低空经济中“高密度、高复杂度、多主体”的飞行调度难题,实现空域资源的高效分配、飞行安全的智能监管及全场景服务的无缝协同,支撑深圳从“无人机之都”向“天空之城”升级。二、核心架构:低空基础设施“四张网”设施网。

主攻大数据 人工智能 物联网 安全 低空经济等方向。mtsc 、gtest特邀分享嘉宾 3744

Error parsing SQL Mapper Configuration

简而言之,出现了1. The error may exist in com/yckj/mybatis/dao/StudentMapper.xml2.### The error occurred while processing mapper_resultMap[stuMap2]_association[clazz] 可能是你的名字出现了重复,将方法的名字进行修改就可以了

zfyccccc的博客 412

2026年7月19日 从可插拔到共封装:技术路线研究报告

AI 算力的爆发正在重写数据中心光互连的技术路线。本报告对当前并存的四代光互连架构——

weixin_51184047的博客 586

软件测试面试题汇总

软件测试面试题汇总 测试技术面试题 ........................................................................................................................................................................ 5 1、什么是兼容

晴天的专栏 2万+

resultmapbug

The error occurred while processing mapper_resultMap[user_order_map]_collection[orders] ### Cause: ....... Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias '_User'.  Cause: ...

Alex的博客 810

Nvidia Orin Driveos Camera 介绍及调试详解

自动驾驶-nvidia orin driveos Camera 驱动详解及调试

u011803281的博客 2991

The error occurred while processing mapper_resultMap错误

显示resultMap build失败 把javaType去掉或者把路径补充完整

qq_47851392的博客 5185

Python爬虫-爬取猫眼演出数据

本文是该专栏的第53篇,后面会持续分享python爬虫干货知识。猫眼平台除了有影院信息之外,它还涵盖了演出信息,比如说“演唱会,音乐节,话剧音乐剧,脱口秀,音乐会,戏曲艺术,相声”等等各种演出相关信息。而本文,笔者将以猫眼平台为例,基于Python爬虫实现获取各种演出信息的数据。废话不多说,具体细节部分以及详细思路逻辑,笔者将在正文结合完整代码进行详细说明。(附带完整代码)

Python进阶专栏《爬虫实战进阶》,《Pyppeteer从入门到精通》原创作者 568

SAP-ABAP:SAP数据库视图(Database View)详解-创建

数据库视图是SAP中实现多表关联查询的基础工具,适合简单的跨表查询和权限控制场景。但其功能有限,对于复杂逻辑或高性能需求,建议结合CDS视图或ABAP程序开发。通过合理设计,数据库视图可显著提升开发效率和系统可维护性。它存储在数据库中,但本身不存储数据,仅通过查询动态生成结果。是一种基于物理数据库表的虚拟表,通过关联多个表(使用。

baidu_35680696的博客 1369

mybatis generator自动生成代码报The error occurred while processing mapper_resultMap[BaseResultMap]错误的解决方法...

今天在用mybatis自动生成代码之后遇到了一个错误: ? org.apache.ibatis.exceptions.PersistenceException : ### Error building SqlSession. ### The error may exist in com/erp/webservice/mapper/UsersMap...

weixin_30414245的博客 1449

【LLM评估篇】Ceval | GAIA | MMLU benchmarks

- 一些大模型的评估模型: - 多轮:MTBench - 关注评估:agent bench - 长文本评估:longbench,longeval - 工具调用评估:toolbench - 安全评估:cvalue,safetyprompt等 本文还介绍了其他主流的大模型评估指标等及其使用

发现问题,并解决问题,批判性思维 6945

MyBatis学习笔记(一)初识MyBatis_接口式编程

MyBatis学习笔记(一)初识MyBatis_接口式编程 初识MyBatis_接口式编程,MyBatis与hibernate的区别,Hibernate优缺点,MyBatis优点,MyBatis的下载及使用,接口式编程

孔明的博客 395

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Mybatis学习笔记5:面向接口编程、注解开发

一、面向接口编程 面向对象编程:在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。 面向接口编程:就是为了处理对象之间的协作关系,去实现类之间的通信,模块之间的交互等等而设计出来的编程思想。 使用原因:解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好。 关于接口:接口从.

Vincent9847的博客 299

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

mybatis学习笔记二:接口编程与注解

一、接口编程 1、概述:接口与动态文件进行动态绑定,即通过(配置文件的命名空间+id)与(接口全类名+方法进行绑定)2、具体实现(创建表结构、实体类、mybatis配置文件,见学习笔记一) 新建接口UserMapper,并添加selectUser()方法 public interface UserMapper { public User selectUser(String userN...

开着坦克的瑞兽 311

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

MyBatis学习笔记 | MyBatis的下载、编写一个HelloWorld的MyBatis、使用接口式编程改进HelloWorld...

目录 一、MyBatis下载 二、建立一个HelloWorld 1.建表 2.创建项目 3.创建全局配置文件 4.配置sql映射文件 5.编码 三、改进:使用接口式编程 1、接口式编程 2、如何绑定 3、上面HelloWorld的改进 (1)、新建接口 (2)、修改EmployeeMapper.xml配置文件 (3)、编码 四、总结 MyBatis是一个半自动化,轻...

小白菜的博客 483

Mybatis学习笔记二:以接口方式编程

在上一章中,已经完成了Mybatis环境的搭建以及简单的使用。在本章中,主要使用接口的方式来完成数据的访问。 1、创建接口 创建包com.dfz.mybatis.mapper,在此包下创建一个名为UserMapper的接口,定义如下: package com.dfz.mybatis.mapper; import com.dfz.mybatis.model.User; /** * Cre

zsy3313422的专栏 662

MyBatis学习笔记(二)- 接口式编程

MyBatis 的 HelloWorld 的进阶 注意:本次操作是在上一个笔记的基础之上 工程目录如下: 1. 创建一个 EmployeeMapper 的接口 public interface EmployeeMapper { public Employee getEmpById(Integer id); } 2. 修改 Mapper 文件 &lt;mapper namespace...

0start1的博客 330

MyBatis学习笔记(二)---以接口方式编程

前面已经搭建好了eclipse,mybatis,mysql的环境,并且实现了一个简单的查询。请注意,这种方式是用SqlSession实例来直接执行已映射的SQL语句:session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1)其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(

陈先森~ 582

【MyBatis学习笔记】2:接口编程模式,生命周期中的各个对象,log4j使用,MyBatis工具类

MyBatis特有的接口编程模式 简述 上篇中获取查询结果使用的是iBatis遗留的”namespace.id”即提供Mapper接口方法的全限名,用反射的方式使用映射器中的方法的。 在MyBatis中,可以直接获得Mapper接口的一个实现类对象,这个对象是由MyBatis为Mapper接口生成的代理类对象(动态代理),然后调用其所实现的接口中的方法。这种方式相比iBatis遗留的方式...

大桔骑士的学习笔记 503

Mybatis框架学习笔记

学习完了雷丰阳老师视频教程的Mybatis,记录一下。 mybatis基础 即ibatis3.0(源于Apache)之后的版本 三层架构: 表现层—展示数据 业务层—处理业务需求 持久层—和数据库交互 -持久层技术解决方案 JDBC技术(最底层): Connection、PreparedStatement、ResultSet Spring的JdbcTemplate: Spring中对jdbc的简单封装 Apache的DBUtils: 和Spring的JdbcTemplate类似 以上都不是框架,jdbc是规

Kafkaaa的博客 4765

Mybatis面向接口编程

在使用Mybatis的时候,我们通过sqlSession的各种方法和数据交互,比如查询我们是通过sqlSession.selectList("Namespace.sqlId",paramObj),对于插入数据以及修改和删除数据也是同样的通过sqlSession的方法操作,传入配置文件中sql语句对应的唯一id以及动态拼装sql的参数。然后返回的结果是泛型类型,也就是任意的Object类型。距离来说

dyy_gusi的博客 5859

MyBatis-接口式编程

概述 无论是让mybatis帮我们创建代理对象还是上一章中直接使用mybatis提供的CRUD方法,其本质都是得到jdbc的Connction对象,执行对应sql语句,最终封装结果集。 基于接口式 创建Java工程 加入jar包 mybatis-3.4.1.jar mysql-connector-java-5.1.37-bin.jar 创建数据库和对应的表 创建对应实体类 public class Emp { private Integer empId; private String empN

qq_44866169的博客 1317

mybatis接口编程原理解析一

一、接口编程的引入 在mybatis引入接口编程之前,我们可以回顾一下mybatis编程开始的几大步骤: 1、通过SqlSessionFactoryBuilder创建SqlSessionFactory对象: 这里嵌套使用了建造者模式,主要涉及到两个建造者类:XMLConfigBuilder、SqlSessionFactoryBuilder。我们可以看下面一段源码: 上面红色...

Wenlong_L的博客 1317

mybatis接口编程原理解析二

一、引言 前面一篇文章介绍了mybatis之所以推荐采用接口式编程而不是采用SqlSession的方法的原因,也引出了接口式编程之所以能实现这背后的大boss:反射与动态代理。在这篇文章中就不再赘述,详情请看https://blog.youkuaiyun.com/Wenlong_L/article/details/82942831。 下面开始实际探究mybatis接口式编程背后的秘密。 二、整体把控 ...

Wenlong_L的博客 931
上一篇: 多个请求访问同一个servlet
下一篇: MySQL中同时存在创建和上次更新时间戳字段解决方法浅析
congmingPIG_htt
博客等级 码龄11年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值