mybatis进行CRUD操作时返回值不为影响的条数,为null
对应自己的情况多试试看,总有一种方法可以解决吧!
1、如果报期望的返回值为null而原始返回值类型为int的错误
则将Dao/mapper接口中的函数的返回值类型改为Integer,在方法调用时使用.intValue()方法转换为int就可以了。
2、配置返回为修改影响条数
修改jdbc连接如下即可:添加useAffectedRows=true配置。
jdbc:mysql://jdbc.host/{jdbc.db}?useAffectedRows=true
如果是串接在后面,可以使用&或者&
连接符号依据文件类型而定。
3、查看自己的代码是否有问题
在面向接口编程的.xml文件,即Dao/Mapper接口类的实现类(即Mapper.xml文件)中,看看标签名是否正确,CRUD操作对应各自的标签名。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--namespace:绑定一个对应的Dao/Mapper接口,也可以说就是UserDao的实现类(面向接口编程)-->
<mapper namespace="com.kuang.dao.UserDao"><!--select查询语句--><select id="getUserList" resultType="com.kuang.pojo.User">select * from mybatis.user</select><select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">select * from mybatis.user where id=#{id}</select><!--insert插入语句--><insert id="addUser" parameterType="com.kuang.pojo.User" >insert into mybatis.user(id, name, pwd) VALUES (#{id},#{name},#{pwd});</insert><!--update更新语句--><update id="updateUser" parameterType="com.kuang.pojo.User">update mybatis.user set name=#{name} ,pwd=#{pwd} where id=#{id};</update><!--delete删除语句--><delete id="deleteUser" parameterType="int">delete from mybatis.user where id=#{id};</delete>
</mapper>
4、对上述.xml文件的解释说明
(1)namespace
namespace中的包名要和Dao/mapper接口的包名一致!
(2)CRUD标签中的属性说明
●id: 就是对应的namespace中的方法名;
●resultType: Sql语句执行的返回值!
●parameterType: 参数类型!
增删改的返回值类型默认为影响的行数,不用添加resultType
(3)mybatis增删改查的操作步骤
1.编写接口中的抽象方法
2.编写对应的mapper.xml中的sql语句
3.测试(注意增删改需要提交事务)
sqlSession.commit();
//增删改需要提交事务@Testpublic void test3(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserDao mapper = sqlSession.getMapper(UserDao.class);
// mapper.addUser(new User(4, "西部开源", "254655"));//这样直接添加也是可以成功的,注意id值不能重复Integer res = mapper.addUser(new User(6, "西部开源", "254655"));//nullif(res.intValue()>0){System.out.println(res.intValue());System.out.println("插入成功");}//提交事务sqlSession.commit();sqlSession.close();}
mybatis进行CRUD操作时返回值不为影响的条数,为null相关推荐
- 使用mybatis插入数据(insert)时返回主键的问题
使用mybatis做插入操作时,想要获取新增记录的主键,我发现现在的方式和以前的方式有所区别,即以前是直接通过方法返回,现在是将主键设置在数据实体对象中. 下面对mybatis进行insert时返回主 ...
- 【转载】mybaits的update、Insert、delete返回的是不是受影响的行数?
转自:https://blog.csdn.net/benben683280/article/details/79645697 update操作 返回值 mybatis执行update()方法默认返回为 ...
- 使用MyBatis实现CRUD操作
MyBatis 1.使用MyBatis实现CRUD操作 1.1 根据id查询信息 1.2 实现存入用户信息 1.3 更新用户信息 1.4 删除用户信息 1.5 模糊查询 1.6 #{}和${}的区别 ...
- 2021年3月8日:MyBatis框架学习笔记02:利用MyBatis实现CRUD操作
MyBatis框架学习笔记02:利用MyBatis实现CRUD操作 在第一节课中我们在UserMapper.xml里定义了两个查询语句:findById和findAll,对应的在UserMapper接 ...
- Mybatis为什么查询结果为空时返回值为NULL或空集合?
以下内容如有错误欢迎指出,有则改之无则加勉~ 一行数据记录如何映射成一个 Java 对象,这种映射机制是 MyBatis 作为 ORM 框架的核心功能之一,也是我们这篇文章需要学习的内容 开始前我们先 ...
- MyBatis在insert插入操作时返回主键ID的配置
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:如果业务层需要得到记录的主键时,可以通过Mapper.XML配置的方式来完成这个功能. 在 INSER ...
- MyBatis在insert插入操作时返回主键ID
数据库为MySql时: <insert id="insert" parameterType="com.test.User" keyProperty=&q ...
- 【转】Mybatis/Ibatis,数据库操作的返回值
该问题,我百度了下,根本没发现什么有价值的文章:还是看源代码(详见最后附录)中的注释,最有效了! insert,返回值是:新插入行的主键(primary key):需要包含<selectKey& ...
- Mybatis/Ibatis,数据库操作的返回值
该问题,我百度了下,根本没发现什么有价值的文章:还是看源代码(详见最后附录)中的注释,最有效了! insert,返回值是:新插入行的主键(primary key):需要包含<selectKey& ...
最新文章
- C#编程(十二)----------函数
- 基于深度学习的医学图像半监督分割
- 【干货】目标检测比赛中的trick
- Spring mvc3的ajax
- java输出数组中出现的次数最多的那个及次数
- Java synchronized解析
- 常考数据结构与算法:最长公共子串
- iOS开发之如何跳到系统设置里的各种设置界面
- Shell-11--for
- PTA —— 基础编程题目集 —— 编程题 —— 7-3 逆序的三位数 (10 分)
- ABP vNext微服务架构详细教程——分布式权限框架(上)
- 【今日CV 视觉论文速览】 Part2 25 Jan 2019
- php 天比较,php 计算距离天的时间还有多少天
- ASP.NET高级配置Web.config和Machine.Config
- 华为和谷歌在全球开发者眼里二选一,谁会获得胜利?
- [windows网络编程]tcp/udp编程初步详解-转
- 公司与公司保密协议范本
- 移动通信-抗衰落技术
- 安卓html 750px,移动端750px页面适配
- 回收站的文件删了怎么恢复,回收站文件恢复的两种方法
热门文章
- 6.04 从字符串中删除不需要的字符
- java写入文件的几种方法分享
- python_L2_operator
- NetBeans IDE 7.1 Window Layout Designer
- swft c 语言 数组,如何在swift中实现数组的深拷贝
- java 顺序栈_Java实现顺序栈
- 机器学习算法平台alink_Alink漫谈(十二) :在线学习算法FTRL 之 整体设计
- ajax预加载html seo,前端性能优化 — JS预加载和懒加载
- python日历模块_Python日历模块| prmonth()方法与示例
- python中doc=parased.getroot()_python中执行sed命令操作源文件时出现错误