【resultType】Mybatis种insert或update的resultType问题
2024-10-18 21:23:03
Attribute "resultType" must be declared for element type "insert"或"update"
insert报错
这个报错日志中说Attribute "resultType" must be declared for element type "insert",还有一个报错信息是Attribute "resultType" must be declared for element type "update"
当时一直没有找到那里有问题,一直以为问题是我写insert和update语句是没有写resultType,后来发现,问题恰恰出在此处。
因为在insert和update语句中是没有resultType的,报错的信息不是说没有写resultType,而是说要在mybatis的文件中声明resultType之后,才可以使用resultType.
在xml文件的开头一般有两行代码:
DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"
将http://mybatis.org/dtd/mybatis-3-mapper.dtd复制到浏览器中,会自动下载dtd文件,打开后,搜索update和insert和select,会发现之间的区别:
select的声明如下:
ATTLIST selectid CDATA #REQUIREDparameterMap CDATA #IMPLIEDparameterType CDATA #IMPLIEDresultMap CDATA #IMPLIEDresultType CDATA #IMPLIEDresultSetType (FORWARD_ONLY | SCROLL_INSENSITIVE | SCROLL_SENSITIVE) #IMPLIEDstatementType (STATEMENT|PREPARED|CALLABLE) #IMPLIEDfetchSize CDATA #IMPLIEDtimeout CDATA #IMPLIEDflushCache (true|false) #IMPLIEDuseCache (true|false) #IMPLIEDdatabaseId CDATA #IMPLIEDlang CDATA #IMPLIEDresultOrdered (true|false) #IMPLIEDresultSets CDATA #IMPLIED
insert的声明如下:
ATTLIST insertid CDATA #REQUIREDparameterMap CDATA #IMPLIEDparameterType CDATA #IMPLIEDtimeout CDATA #IMPLIEDflushCache (true|false) #IMPLIEDstatementType (STATEMENT|PREPARED|CALLABLE) #IMPLIEDkeyProperty CDATA #IMPLIEDuseGeneratedKeys (true|false) #IMPLIEDkeyColumn CDATA #IMPLIEDdatabaseId CDATA #IMPLIEDlang CDATA #IMPLIED
update的声明如下:
ATTLIST updateid CDATA #REQUIREDparameterMap CDATA #IMPLIEDparameterType CDATA #IMPLIEDtimeout CDATA #IMPLIEDflushCache (true|false) #IMPLIEDstatementType (STATEMENT|PREPARED|CALLABLE) #IMPLIEDkeyProperty CDATA #IMPLIEDuseGeneratedKeys (true|false) #IMPLIEDkeyColumn CDATA #IMPLIEDdatabaseId CDATA #IMPLIEDlang CDATA #IMPLIED
可以看出select声明中有resultType,而update和insert中没有resultType
错误在此。
最新文章
- Cheat sheets
- php中几个字符串替换函数详解
- type=";file"; 选择图片后预览
- tomcat监控脚本
- grep使用
- javaSE第六天
- Linux 网络工具之fping
- linux socket中的SO_REUSEADDR
- Unity3D中Ragdoll的用法
- 模板:优先队列(priority_queue)
- hibernate集合映射inverse和cascade详解
- WebApi 插件式构建方案
- php+redis 简易的实现文章发布系统(用户投票系统)
- Django中ORM表的创建以及基本增删改查
- JNDI在本项目中的应用
- 数据库日志redo和undo
- Robotframework 3- 安装
- 微软官网给出CSS选择器支持列表
- jenkins + gerrit 自动code review
- Yarn 和 Npm 命令行切换 摘录