sql server-mybatis sqlserver @update 问题

问题描述

mybatis sqlserver @update 问题
String UPDATE_NEWS = ""update T_NEWS set TITLE=#{title}CONTENTS=#{content}RDATE=#{date}ISSHOW=#{isShow}"" +
BIGPIC=#{bigPic} "" +
where ID=#{id}"";

@Update(UPDATE_NEWS)int updateNews(CentralNews News);mapper里接口是这样的执行后更新是更新到数据库里了,但是报了这个异常

nested exception is org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.reflection.ReflectionException: Could not set property 'id' of 'class com.seu.xu.model.CentralNews' with value 'null' Cause: java.lang.IllegalArgumentException

解决方案

问题已经解决了,改用了cglib 不使用javassist就可以了。这种错误不知道为什么会发生,update为什么会像insert一样回填id。
版本是mybatis3.3.0默认使用的是javassist

解决方案二:
Could not set property 'id' of 'class com.seu.xu.model.CentralNews' with value 'null' Cause: java.lang.IllegalArgumentException
这在说id为空啊,是不是没对应上

解决方案三:
UPDATE 问题

时间: 2024-08-07 03:51:40

sql server-mybatis sqlserver @update 问题的相关文章

sql server 2005 select update 复杂计算 批量更新 悬赏100分

问题描述 sql server 2005 select update 复杂计算 批量更新 悬赏100分 sql server 2005 select update 复杂计算 批量更新 表结构如上图:ID,日期,代码,开盘,最高,最低,振幅3 求:前三日的振幅,并批量更新. 算法:代码相同,按日期排序,向前取三条,从最高里面找到最大的数,从最低里面找到最小的数. (最高 - 最低) / 开盘 = 振幅.开盘是当前行固定向前数三行的开盘值. 以更新第4条为例: (9 - 1) / 1 = 第4条的振

出错-SQL Server 2008 执行UPDATE成功后查询不到执行的结果

问题描述 SQL Server 2008 执行UPDATE成功后查询不到执行的结果 平台:SQL Server 2008 R2,Windows Server 2008 执行内容: UPDATE [TAB_CHANGE] SET [STATUS] = 1 WHERE [TABNAME] = 'ITEM' select * from TAB_CHANGE where STATUS = 1 如果在查询分析器中选中两个SQL一起执行,就有结果集,显示更新成功了,但是如果单独执行第一句,在控制台可以看到"

SQL Server触发器insert update delete示例

·只有inserted表有数据时,当前操作为insert: ·inserted和deleted两张表都有数据时,当前操作为update: ·只有deleted表有数据时,当前操作为delete. 创建触发器用 CREATE TRIGGER  代码如下 复制代码 CREATE TRIGGER 触发器名称 ON 表名 FOR INSERT.UPDATE 或 DELETE AS nserted.deleted 这是两个虚拟表,inserted 保存的是 insert 或 update 之后所影响的记录

sql server-SQL Server 一条UPDATE执行超时 这时会自动回滚所有已经执行的更行吗

问题描述 SQL Server 一条UPDATE执行超时 这时会自动回滚所有已经执行的更行吗 如题 我误操作执行一条UPDATE执行 后在执行过程中立即关闭了客户端. 因为数据量极大 肯定会超时的 这时会自动回滚所有已经执行的更新吗 没有加上事务语句,但是一条更新语句应该属于SQLServer的隐式事务吧.这个时候会自动回滚吗? 求教各位大神 谢谢大家 解决方案 启动SQL SERVER时自动执行存储过程启动SQL Server时自动执行存储过程sql server 自动执行存储过程 解决方案二

Oracle\MS SQL Server Update多表关联更新

原文:Oracle\MS SQL Server Update多表关联更新 一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表   一.MS    SQL    Server   多表关联更新      sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来.虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就

SQLServer · 特性分析 · SQL Server中XML与JSON应用比较

title: SQLServer · 特性分析 · SQL Server中XML与JSON应用比较 author: 石沫 背景 SQL Server是一种强大的数据库引擎,不仅性能卓越,稳定,功能还很强大,SQL Server 2016中已经支持JSON.这让我想到以前工作中经常使用的SQL XML,也对比一下他们几个关键领域的应用方法.这两种SQL特性,在实际的工作中也是常用的功能,特别是JSON在最近发展非常火爆,SQL Server也不落后,很快就在SQL Server2016支持. 广义

SQL Server UPDATE语句的用法详解_MsSql

SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对SQL Server UPDATE语句有更多的了解. 现实应用中数据库中的数据改动是免不了的.通常,几乎所有的用户数据库中的大部分数据都要进行某种程度的修改.在SQL Server数据库中要想修改数据库记录,就需要用UPDATE语句,UPDATE语句就是为了改变数据库中的现存数据而存在的.这条语句虽然有一些复杂的选项,但确实是最容易学习的语句之一.这是因为在大

SQL Server UPDATE语句的用法详解

SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对SQL Server UPDATE语句有更多的了解. 现实应用中数据库中的数据改动是免不了的.通常,几乎所有的用户数据库中的大部分数据都要进行某种程度的修改.在SQL Server数据库中要想修改数据库记录,就需要用UPDATE语句,UPDATE语句就是为了改变数据库中的现存数据而存在的.这条语句虽然有一些复杂的选项,但确实是最容易学习的语句之一.这是因为在大

SQL Server常见错误(1)“无法打开用户默认数据库,登录失败” (2)系统密码改变后无法启动SQLServer

server|sqlserver|错误|数据|数据库 无法打开用户默认数据库,登录失败,这也是SQL Server使用者熟悉的问题之一.在使用企业管理器.查询分析器.各类工具和应用软件的时候,只要关系到连接SQL Server数据库的时候,都有可能会碰到此问题,引起此错误发生的原因比较多,下面我们就来详细分析引起此问题的原因以及解决办法. 一.原因登录帐户的默认数据库被删除. 二.解决方法:(一).使用管理员帐户修改此帐户的默认数据库1.打开企业管理器,展开服务器组,然后展开服务器2. 展开"安