mybatis能不能把受影响的行数作为返回值

如题。在更新或插入数据的时候,返回受影响的行数,有办法实现吗

0

1个回答

普通mybatis没有发现,但是如果使用通用Mapper时,会返回一条数据

@Test
public void testUpdateByPrimaryKey() {
    User param = new User();
    param.setId(1l);
    param.setName("2312312421412");

    int key = this.UserMapper.updateByPrimaryKeySelective(param);
    System.out.println(key);
}
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Mybatis执行update,insert等语句返回的不是受影响的行数
Mybatis执行update,insert等语句返回的不是受影响的行数在我们日常开发中,使用Mybatis框架中,经常会根据update,或者其他操作的返回值判断执行是否成功。如:在执行以上语句时候,需要根据result返回值是否 =1 来判断是否update成功。同样的语句在navicat执行后,若是update没有影响行数,则返回0;而Mybatis不会返回这个,它返回的是匹配行数,所以怎么...
Mybatis Update操作 返回值修改为受影响条数
到底 update 返回值代表什么呢?我们来验证一下便知道了,假设有如下一张表以及两条数据: nnn我们来编写一个简单的单元测试用例来验证下,首先使用 mybatis 简单的写个 mapper 进行更新操作,其中 xml 中的内容为: nnn数据库连接配置为: nnn接来下,我们来编写一个简单的单元测试来验证下: update 的返回值是不是受影响的记录的条数 ,对应的单元测试代码如下: nnn由...
mybatis 更新、删除、插入 错误的返回影响的行数
当用mybatis 执行 插入、删除、更新操作要以返回影响的行数来判断这些操作时是否执行的时候,mybatis返回的行数是一个负数,这主要是有以下几点原因n原因:nnn当连续执行两次相同的更新操作时,msyql客户端在第一次在执行更新时候,影响返回的值是等于1的,则第二次执行的同样的更新操作时,影响返回的值是等于0的。这主要是mysql在执行update的时候,若是update没有影响行数,则返回...
MyBatis(五) insert、update、delete 、主键回填、返回matched行数和affected行数、参数配置#{},${}
insert元素<insert id="insertStudent" parameterType="student">n insert into student_info (stu_age,stu_sex,stu_name) values n (#{stuAge},#{stuSex},#{stuName})n </insert>属性和select元素的基本一样,比...
Mybatis的批处理以及执行Update返回行数为负数
n n 
n   项目中用到了批量更新。
n在开发当中,可能经常会遇到批量处理这种情况,一般都再在java层面进行,
n其本质是节省数据库连接打开关闭的的次数,占用更少的运行内存。
n  下面先记一下批处理映射吧:
n  mybatis批量插入  
n
n 1 <insert id="saveFeeRuleList" use...
Mybatis执行Update返回行数为负数
获取mybatis的update行数,总是返回负数。后来在官网上找到原因,是由于defaultExecutorType的引起的,defaultExecutorType有三个执行器SIMPLE、REUSE和BATCH。其中BATCH可以批量更新操作缓存SQL以提高性能,但是有个缺陷就是无法获取update、delete返回的行数。defaultExecutorType的默认执行器是SIMPLE。rn
Mybatis自定义sql,进行insert、update、delete操作,如何返回影响的行记录数???
直接在mapper接口文件直接返回 int 类型即可,sql语句和正常一样,无需设置返回值类型,mybatis框架会自动完整这些功能nn接口:UserMapper.javannnpublic interface UserMapper {n    int insert(User record);n}nnMapper映射文件:UserMapper.xmlnnn<insert id="insert...
Mybatis批处理和增删改操作影响行数返回负数的情况
项目中经常看到这样的代码:nnnint rows = mypaymentDao.batchInsert(t);n//如果rows不大于0,即未插入成功nif (rows <= 0) {n throw new Sv2Exception("数据处理失败");n}nn通过Mybatis,在对数据库增删改的操作中,我通常判断操作是否成功的处理,都是直接判断是否为0,并没有考虑到小于0的情况,也...
Mybatis返回update后影响的行数
主要在JDBC链接中加入这个参数即可:useAffectedRows=truenn
mybatis 在dao层插入数据, 返回了影响的行数, 但是数据库里面有看到数据
mybatis,  在批量插入数据的时候, insert into  返回了影响的行数, 但是查数据库一直是没有记录的.rnrnrn如果此时最后一条数据的ID为20的话,  调用insert into, ,此时查询数据库, 发现数据还是显示20条,rnrnrn但是直接在数据库里进行手动执行一条insert into的时候, 然后select  你会发现, 此时最后一条数据的ID为41,rnrnrn
Mybatis配置返回为修改影响条数
前言mybatis执行update()方法默认返回为匹配的更新记录条数,现在需要将update()方法修改为与mysql执行一致返回影响条数,修改jdbc连接如下即可:添加useAffectedRows=true配置。jdbc:mysql://jdbc.host/{jdbc.db}?useAffectedRows=true...
springMVC+mybatis 增删改操作后判断影响行数一直返回
MyBatis发现更新和插入返回值一直为”-2147482646”的错误是由defaultExecutorType设置引起的,如果设置为BATCH,更新返回值就会丢失。mybatis官方的讨论列表,这句很关键:“If the BATCH executor is in use, the update counts are being lost. ”nnnn在mybatis里面有一个配置属性defau...
Java MyBatis 插入数据库返回主键 总返回行数
先转个说的比较详细的:http://www.cnblogs.com/xingyunblog/p/6243179.htmln再转个写的比较全面的:http://chenzhou123520.iteye.com/blog/1849881n为什么老是得到的还是行数呢?其实很简单,是自己2B了。返回行数是一定的,要的主键并不是方法返回的,是反射到添加的那个类中了。n记得之前好像犯过这个错误,这次又犯
Mybatis批量插入返回成功的数目
Mybatis批量插入返回影响的行数n环境Mybatis批量插入返回影响的行数环境:npostgresql 9.6.5nspring 4.1nmybatis3njunit4nlog4j nThesisMapper.xml:<!-- 批量插入 -->n <insert id="insertList" parameterType="java.util.List"> insert in
mysqli_affected_rows()获取查询受影响的行数
定义nnmysqli_affected_rows()函数返回先前的SELECT,INSERT,UPDATE,REPLACE或DELETE查询中受影响的行数nn nnn$sql3 = &quot;DELETE FROM art_map WHERE a_id=$did&quot;;n$result3 = $mysqli-&amp;gt;query($sql3);n$row_affected = mysqli_affected_r...
SQL存储过程返回受影响的行数
在很多时候,使用存储过程,不需要返回数据集,rn但是经常想知道存储过程是否对数据库有影响;rn这些,只需要将下列数据放在你需要统计的语句后面即可;rnrnrnselect @@ROWCOUNT
MySQL on duplicate key update影响行数及对主键的影响
今天使用到MySQL一个 INSERT ... ON DUPLICATE KEY UPDATE 的语法,发现返回的影响行数是2,很奇怪,然后从网上找,发现这篇文章nnhttps://segmentfault.com/a/1190000017268633nn豁然开朗!nnnn再次测试之后发现,如果自增id到10,如果经过这个SQL的更新数据之后 下一个自增id是12而不是11。n...
sql update操作数据更新成功,返回的影响行数是0
以前使用sql server, mysql时候,本能以为update操作返回的行数能判断对记录的操作结果,除了数据库异常,一般确实能反应操作的真实情况,但是,为何却出现update数据更新成功,反而返回影响行数为0的情况呢?n以为可以判断返回值是否大于0来判断更新是否成功,但是,下面的两种情况均返回0:n 1、没有找到需要更新的数据n ...
关于Mysql的统计行数与影响行数
在使用mysql中,我们进行更新操作,经常获取行数,不论是更新操作影响的行数还是查询统计的行数nn一、影响行数nn通常在进行更新操作,insert、delete、update时,我们对executeUpdate()方法的返回值进行记录,该值为Integer型nnnn二、统计行数nn在进行查询操作时,我们经常用到select count(*)来统计行数,这里返回的是Long型数据,我们如果用int来...
关于sql中update语句响应条数为0的情况
导读:平时我们在做开发的时候,经常使用update去更新一条或多条数据。但是忽略了update语句的一条重要规则。nUpdate语句响应条数为0的情况只有两种:1.没有更新到该数据。n 例如:update table_1 set col_1 = ‘zhai’ where id = ‘fengxi’ n table_1表中没有 id = ‘fengxi’ 这条数据,故响应条数为0。n2.更新的数
Spring 整合Mybatis ,获取删除的数据行数
spring 整合Mybatis,在 编写 delete接口的SQL时,不允许设置 resultType ,无法通过执行多条语句来获取删除受影响的行数。rn更简洁的解决方法:rndelete接口的返回类型设为Integer, 不需要在中 定义resultType,即可自动返回受影响的行数。
mybatis updata返回值问题
mybatis 只要updata的时候,数据库有符合条件的数据,无论更改的值是否和原值相同,返回值都为符合值的条数在navicat中,update时,若值相同,返回0
SQL返回受影响行数
ExecuteNonQuery()可以返回delete,insert,update操作受影响的行数 n如果执行存储过程ExecuteNonQuery()一直返回-1,应检查存储过程中的是否有SET NOCOUNT ON,这句话会阻止返回计数,以减少网络开支,若需要返回值则可屏蔽这句话,或者改为SET NOCOUNT OFF,也可以通过return @@ROWCOUNT来获取受影响行数
我纠结的sql返回受影响行数与判断是否成功的问题
比如:deleteSQLWhere="delete TableA where ID in(1,2,3,4,5)";  nn tryn {n int i = sqlHelper.ExecuteNonQuery(CommandType.Text, deleteSQLWhere);n if (
mybatis增删改操作无法返回操作数量的问题
在实际项目中,遇到一个问题,就是用insert, update, delete操作时,无法返回操作的数量,都是返回-2147482646 这一个值。后来在网上查了查,原因是因为mybatis配置的原因。在mybatis里面有一个配置属性defaultExecutorType,当这个值为BATCH时, 返回结果就只有-2147482646 这一个值。defaultExecutorType一共有三个值
mysql之返回影响行数
mysql更新数据,这里我提出一个问题:nn当mysql更新的时候,这一条数据已经被删除了?那怎么办?会提示更新失败吗?nn现在开始现场实验nnExecuteNonQuery 这个函数可以返回影响的行数,如果返回影响行数为0,表示没有这个数据,返回大于0为影响函数nnn DBMysql dBMysql = new DBMysql();n dBMysql....
Spring Jpa  原生 update 语句 能返回修改行数,但是数据库无修改
经过反复排查, 后发现我在 Service 和 Repository 中都加了事务,nn!!!!错误: 在执行原生update语句过程中一共添加了两个@Transactional注解nn解决方法:删除其中一个就能成功 update 数据库nnnn 举个例子我分别在 AService 的 method1 中调用 ARepository 的 method2, 并给 metho...
MySQL 修改时返回受影响行数为 0
    刚刚在测试接口时,修改一直提示提交失败,很奇怪,之前跟移动端联调接口时,也偶尔会出现这样的问题,sql 确定没问题,怎么就提交失败呢?因为是偶尔出现的情况而且不知道怎么复现,就安慰自己说是可能有什么机制当sql连接超过某个时间就不执行了也就没有多思考。现在再次遇到这个情况才认真的捋了捋,当接口中判断到修改的返回执行行数为0时就返回提交失败,代码如下:         if (mobileU...
.net执行修改,获得受影响行数为1,可是数据库内容却没有改变
.net执行修改,获得受影响行数为1,可是数据库内容却没有改变 rnrnpageload里面加载着内容,rn 解决方案 :在pageload里面加上if(!Page.IsPostBack)
mybatis获取主键和存储过程返回值
rn1: mybatis中 返回主键 :rn PasswordTO password=new PasswordTO();rn password.setWifiId(wifiId);rn password.setDeviceId(did);rn password.setPassword(pwd);rn p...
mybatis+oracle批量插入sql返回成功条数
mapper.xml文件n n     insert into T_WREGIME_SQYJn      (WRINFOID,WRTITLE,WRDETAIL)n n     (select  n         #{item.WRINFOID,jdbcType=VARCHAR},n         #{item.WRTITLE,jdbcType=VARCHAR},
mysql中的存储过程使用事物后如何正确得到影响行数
已知MySQL的存储过程中使用事物后,执行commit操作时会返回0 row(s) affected, n但是增删改已经正确执行了。 n那么实际应用中一定要这个影响行数确认执行结果怎么办? n此时需要手动实现影响行数计数,然后在commit之前输出计数。 n具体做法是利用row_count()。 n每次增删改语句执行后,row_count()都会返回上一次影响行数, n设置一个变量接收这个函数的返回
Mybatis获取插入数据的主键时,返回值总是1
Mybatis获取插入数据的主键时,返回值总是1nnxml里的写法 n第一种方式nnnn &amp;amp;lt;insert id=&amp;quot;insertLogin&amp;quot; parameterType=&amp;quot;com.xyt.p2p.pojo.LoginInfo&amp;quot; keyColumn=&amp;quot;userId&amp;quot; n useGeneratedKeys=&amp;quot;true&amp;quot; keyPrope
Hibernate操作数据的时候,有显示影响的行数但是打开数据库查看的时候数据库却没有变化。
以上是对数据库的简单操作,就是更改某个字段的值。count大于0就说明有受影响的行,但是数据库确的数据没有变化还是原来的。因为我每有加上图上那个框里面的语句,需要手动提交以下事务。n...
关于Mybatis一次性插入多条数据返回的记录数的问题
1.首先插入的时候传递的是list集合,那么就需要在collection后面写成list,例如:nninsert id ="InsertReaCodeDlInfos" parameterType="java.util.List" >n INSERT INTO tpm_reacodegdlinfo (Guid,ReaCGGd,ReaCGd,Creator,CreateTime,LastMod
存储过程中返回影响行数
存储过程中判断一条修改或删除语句执行是否成功nnIf sql%rowcount=0  thenn如过修改或删除成功,then后面的语句就不会执行,如过影响行数为0,将执行then后面的语句。
hibernate使用列名作为变量查询
hibernate在查询时, 参数一般使用占位符 ? 进行传入. 在一些业务需求中, 会有需要使用列名作为变量传入的.常见为根据选择的列去进行分组查询. 这种情况列名就作为变量了. mybatis的话, 是有 #{} ${}两种占位符可以满足这种需求. 而对于hibernate.直接使用 ? 占位符是不可行的.  目前见到可用的方式是直接拼接.nnnString columnName = &quot;stu...
Python编程:MySQLdb模块更新数据库获取影响行数
cursor游标方法和属性:nfetchone(): 获取查询结果集的下一行nfetchall(): 获取结果集的所有行nrowcount: 返回受影响的行数n代码示例nnimport MySQLdbnndb = MySQLdb.connect(&quot;localhost&quot;,&quot;testuser&quot;,&quot;test123&quot;,&quot;TESTDB&quot; )ncursor = db.cursor()nnsql = 'UPDA...
有返回值的函数
1、求圆的面积2、求绝对值3、比较两个数的大小4、计算两点之间的距离5、已知圆心和圆周上的一点,计算圆的面积6、布尔函数返回布尔值7、检查类型通过42-45行的测试,能确保知道n是正数或08、调试将一个大程序分解为小函数,自然而然地引入了调试的检查点。如果一个函数不能正常工作,可以考虑三种情况:(1)函数获得的实参有问题,某个前置条件没有达到(2)函数本身有问题,某个后置条件没有达到(3)函数的返...
mybatis获取存储过程的返回值
今天遇到一个问题,从ibatis把项目迁移到mybatis,因为mybatis不再支持procedure标签,于是改为select标签,加上statementType=”CALLABLE”。 n因为传进去的参数采用的是map,因此定义了一个parameterMap。 nmybatis中的jdbcType不再支持int,需要用Integer。 n最大的问题再与,返回值是int类型,我将resultTy
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 如何能把java学习好 java学习返回值