Select statements cannot be executed as an update.

初学IBATIS时,出现的错误。

 

异常:

 

java.sql.SQLException: Select statements cannot be executed as an update.
 at com.ibatis.sqlmap.engine.mapping.statement.SelectStatement.executeUpdate(SelectStatement.java:31)
 at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:447)
 at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
 at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:59)
 at com.ecp.ibatis.main.Test.addPerson(Test.java:46)
 at com.ecp.ibatis.main.Test.main(Test.java:60)
Exception in thread "main" 

 

 

person_SqlMap.xml

  

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Person">
    <resultMap id="person" class="com.ecp.ibatis.java.Person">
        <!--
        WARNING - This element is automatically generated by Abator for iBATIS, do not modify.
        This element was generated on Fri Mar 20 15:38:16 CST 2009.
        -->
        <result column="PER_ID" property="perId" jdbcType="NUMERIC"/>
        <result column="PER_FIRSTNAME" property="perFirstname" jdbcType="VARCHAR"/>
        <result column="PER_LASTNAME" property="perLastname" jdbcType="VARCHAR"/>
        <result column="PER_BIRTHDAY" property="perBirthday" jdbcType="TIMESTAMP"/>
        <result column="PER_WEIGTH_KG" property="perWeigthKg" jdbcType="NUMERIC"/>
        <result column="PER_HEIGHT_M" property="perHeightM" jdbcType="NUMERIC"/> 
    </resultMap>
    
	
    <select id="getPerson" resultMap="person" parameterClass="java.lang.Integer">
        <!--
        WARNING - This element is automatically generated by Abator for iBATIS, do not modify.
        This element was generated on Fri Mar 20 15:38:16 CST 2009.
        -->
        select PER_ID, PER_FIRSTNAME, PER_LASTNAME, PER_BIRTHDAY, PER_WEIGTH_KG, PER_HEIGHT_M
        from Person
        where PER_ID = #perId:NUMERIC#
    </select>
	<select id="addPerson"  resultClass="java.lang.Integer" parameterClass="com.ecp.ibatis.java.Person">
        insert into Person values(#perId,#perFirstname,#perLastname,#perBirthday,#perWeigthKg,#perHeightM)
    </select>
</sqlMap>

 

原因:

 

  是因为在xml文件中,配置的文件有误码,我所要做的操作是往数据库中插入一条记录。

 却在配置中配置 <select>

 

因此产生此错误.

 

 解决办法。把select 改成 insert.

 

JDBC底层原理面试通关:连接池、PreparedStatement与ResultSet真相 JDBC不是简单的数据库连接工具,而是Java与数据库之间的分层契约体系,涵盖规范层接口定义、驱动层厂商实现和应用层连接池增强。其核心机制如Connection获取链路劫持、PreparedStatement预编译实际发生位置(客户端/服务端)、ResultSet游标背后的流式网络IO模型,直接决定SQL执行效率、安全边界与资源泄漏风险。理解这些原理,才能真正应对中高级Java岗位中关于连接池泄漏、SQL注入防护失效、批量操作性能瓶颈等高频工程问题。本文基于JDK 17、MySQL 8.0.33与Hikar 阅读详情

相关推荐

HFSS仿真的后处理结果,如何根据天线表面的电流密度分布对天线进行优化?

在HFSS仿真中,天线表面的Jsurf​是最直观、最有价值的诊断工具之一。它不仅告诉你天线“能不能工作”,还能告诉你“为什么工作”以及“哪里出了问题”。

degogmy的博客 1156

Update statements cannot be executed as a query

Update statements cannot be executed as a query

wsl_csdn_2016的博客 4556

VideoPose3D | 环境搭建

文章目录环境要求下载PyTorch基本步骤验证安装问题修复数据集设置Human3.6MCPN detections配置wget命令安装CPN评估环境测试问题测试报错 无法识别参数3 3 3 3卡在最后评估 主要参考:GitHub / facebookresearch / VideoPose3D 环境要求 Dependencies Make sure you have the followin...

D0 8655

Ibatis insert语句插入null引发的错误

公司使用的orm框架为ibatis,其中默认的insert语句一直都是这样写的: 1 <insert id="insert" parameterClass="activityDO" > 2 insert into activity_expert ( 3 ...... 4 activity_id...

882

深入解析NRF52832安全DFU Bootloader实现机制与蓝牙OTA升级流程

本文深入解析了NRF52832芯片安全DFU Bootloader的实现机制与蓝牙OTA升级流程。详细阐述了Bootloader的核心概念、双区升级策略、源码初始化流程以及蓝牙DFU服务的数据传输协议,并提供了从环境搭建、密钥生成到编译烧录、生成升级包的完整实战指南,帮助开发者构建安全可靠的无线固件更新系统。

weixin_29188043的博客 490

双臂复合机器人眼在手外标定实战:从原理到D435标定流程详解

本文详细解析了双臂复合机器人中眼在手外标定的核心原理与实战流程。通过阐述坐标系转换与AX=XB方程,重点介绍了使用Intel RealSense D435相机进行标定的完整步骤,包括环境搭建、数据采集、计算与验证,并提供了关键的避坑指南,帮助工程师实现相机与机械臂基座间的精确坐标对齐。

weixin_29100927的博客 445

FAQ: ORA-4030 [Video] [ID 399497.1]

Questions and Answers What is an ORA-4030? Basically, an ORA-4030 indicates a limit has been reached with respect to the Oracle process private memory allocation. Typical causes: * OS Memory lim

DBAdream的专栏 1172

C#报表,使用微软rdlc模板,生成Excel, PDF, Word, Image文件,使用自定义对象做数据集不连接数据库

我项目是用vs2017 建的,.NET farmwork 4.7.2 这种报表可以用于任何模式的应用,web,桌面,因为这只是生成一个文件或者文件流 步骤比较详细啰嗦,其中有讲到rdlc怎么新建设计,如果已经会设计rdlc了的可以直接跳到底部看代码的执行结果, 底部还有源码下载链接,百度盘 首先控制台安装报表包 新建rdlc 报表 建立rdlc里要用的数据模型 模型建完,或者修改都要重新...

qq_35955916的博客 5202

MYSQL SQL 执行系列2

-> open_and_process_table (为 Table_ref 获取 MDL 锁并打开表或视图)|-> open_table (对于基表)-> open_table (对于基表)所以open_table是真正打开一个的地方(视图、派生表、临时表有其他处理函数)。是 MySQL 服务器中的核心分发函数。它接收已经解析并填充好的LEX结构(语法树),根据的值(如等),调用相应的内部处理函数完成实际的数据操作、元数据变更或管理命令。该函数位于之后,是查询执行流程的最终入口。

Piemon&Anokata的博客 298

SV fork join_none & for循环结合使用

fork join_none与循环联用常见问题解决方案

ZhangShuHuai11的博客 880

r语言svr模型_R语言初探强化学习中的马尔可夫模型

强化学习大家这几年应该不陌生,从AlphaGo到AlphaZero让大家见识到了强化学习的力量。我们今天给大家介绍一个在强化学习中核心思维马尔可夫决策过程(MDP)。马尔科夫决策过程是基于马尔科夫论的随机动态系统的最优决策过程。它是马尔科夫过程与确定性的动态规划相结合的产物,故又称马尔科夫型随机动态规划,属于运筹学中数学规划的一个分支。今天我们给大家介绍下马尔可夫决策过程中用到一些算法以...

weixin_28994357的博客 1111

MySQL常见错误排查指南:从连接失败到死锁处理的实战解析

数据库连接与操作是后端开发和运维中的核心环节,其原理涉及网络通信、权限验证、SQL解析与执行引擎等多个层面。在MySQL等关系型数据库中,连接失败、权限错误、SQL执行异常等问题直接影响系统可用性。从技术价值看,掌握系统化的错误排查方法能显著提升数据库运维效率与系统稳定性。在实际应用场景中,无论是新环境部署时的ERROR 1045连接问题,还是高并发下的ERROR 1205锁超时与死锁,都需要结合认证插件、网络配置、索引优化等热词进行综合分析。本文通过实战案例,深入解析包括认证插件不匹配、外键约束冲突在内的

weixin_33767813的博客 455

Sigrity Power SI Model Extraction模式如何提取电源网络的S参数和阻抗操作指导(一)

34. 默认格式是BNP format格式,会被Sigrity识别的S参数文件,在仿真完成后,默认会在文件夹中生成bnp和ckt(MCP)文件,无需这步操作。由于port设置的ref Z是50ohm,实际上电源网络的阻抗是没有这么高的,所以S参数回损曲线是基本上全反射的一个状态。Sigrity PowerSI是频域电磁场仿真工具,以下图为例介绍如果用它观测电源的网络的S参数以及阻抗的频域曲线.42. Spice格式的加载进来图标是橙色的,BNP格式的图标是灰色的。

weixin_54787054的博客 1277

MYSQL SQL 执行系列1

0)摘要(digest)是 SQL 语句规范化后的哈希,用于 performance_schema 中的语句统计和慢查询日志中的样本记录。如果全局变量非零(表示启用 digest 收集),则通知词法分析器在解析过程中计算 digest。

Piemon&Anokata的博客 395

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ZLAN_ACC ABAP程序管理工具 使用说明

18年写的,后面一直放着没管了,现在有空做了一点小的更新。考虑到有些公司SAP服务器不能访问外网,发请求做的是走自己电脑的,只要自己电脑能连外网,就可以访问云端代码。

盈于心胸,充塞天地 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

iBatis.Net系列(四) iBatisNet API基础

有了对iBatis配置系统的一些认识后,现在就先来简单了解一下,iBatis是通过什么的方式去调用映射文件的SQL语句的。这对我们接下来深入了解有很大的帮助。 对于简单的iBatis应用场合来说,我想大部分都是集中在与SqlMapper对象打交道。这个类应该说是一个工具类,因为我们一般都是直接调用这个类的方法去执行QUID操作,但是它却不是真正的去做这些事情。因为iBatis内部有很多的类,...

weixin_33912246的博客 186

Can not issue data manipulation statements with executeQuery().问题的解决

执行的是update语句,但statement调用的却是executeQuery()方法。将executeQuery()方法改成execute()即可。 

ja_II_ck的专栏 2093

db2更新语句

update。

qq_42093887的博客 1150

无法执行该事务操作,因为有挂起请求正在此事务上运行

1、参考https://blog.csdn.net/weixin_30563319/article/details/99547940 2、报错代码 //"This SqlTransaction has completed; it is no longer usable." //"无法执行该事务操作,因为有挂起请求正在此事务上运行。" updateDetails.ForEach(async x...

XinShun的博客 5083

Tips to Optimize Your SQL Statements - Part 2

Tips to Optimize Your SQL Statements - Part 2 By Brian Ellul, 2015/05/07 Introduction This article can be considered the second part of my previous article, Tips to optimize your SQL Stat

tuzhen007的专栏 717

java.sql.SQLException错误

java.sql.SQLException错误!ORA-00904: –invalid column name 无效列名ORA-00942:  –table or view does not exist 表或者视图不存在ORA-01400:  –cannot insert NULL into () 不能将空值插入ORA-00936: –缺少表达式ORA-00933: –SQL 命令未正确结束

SKY的专栏 5万+
上一篇: Can't start a cloned connection while in manual
下一篇: The processing instruction must begin with the nam
茄子煸土豆
博客等级 码龄19年 0粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值