網(wǎng)站首頁 編程語言 正文
Mybatis中報錯:attempted to return null from a method with a primitive return type (int)
作者:此方星河 更新時間: 2022-05-17 編程語言發(fā)生緣由
- 學(xué)習(xí)Mybatis的使用
環(huán)境
- jdk版本:jdk-16.0.2
- Idea版本:2021.2
- Mybatis版本:mybatis-3.5.9
- 電腦系統(tǒng):win10
問題及補救
問題描述
其他文件就不在這里贅述了,有User類,自己抽取的SqlSessionUtils類,以及配置文件等等。UserMapper.java
:
/**
* 插入一條用戶信息
*/
int insertUser(User user);
UserMapper.xml
:
<select id="insertUser" resultType="user">
insert into t_user values(null, #{username}, #{password}, #{age}, #{sex}, #{email});
select>
創(chuàng)建測試類運行:
@Test
public void testInsertUser() {
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int result = mapper.insertUser(new User(null, "張三", "243", 34, "男", "234@qq"));
System.out.println(result);
}
結(jié)果報錯:
org.apache.ibatis.binding.BindingException: Mapper method 'com.linxuan.mybatis.mapper.UserMapper.insertUser attempted to return null from a method with a primitive return type (int).
解決方案
- 網(wǎng)上搜索說可以將返回值給換一下,也就是方法的返回值換成
Integer
,這樣返回NULL不會報錯。int insertUser(User user);
換成:Integer insertUser(User user);
。同時mapper.insertUser(new User(null, "張三", "243", 34, "男", "234@qq"));
的返回值也變成了Integer
。
執(zhí)行測試類之后確實沒有報錯,數(shù)據(jù)庫里面也確實是添加了用戶信息,可是返回值變成了NULL,這不合理??! - 突然我想到了,咱們這個SQL語句是DML,插入語句的啊,我為什么要用
select
標(biāo)簽?zāi)兀?br> 修改為insert
標(biāo)簽之后就不會報錯了。
原文鏈接:https://blog.csdn.net/m0_51426055/article/details/124502734
相關(guān)推薦
- 2024-04-02 Maven項目引用本地jar涉及scope配置
- 2022-07-22 服務(wù)器配置uWSGI+Nginx+Django
- 2022-11-14 git常用命令行操作
- 2022-05-27 使用Jedis線程池returnResource異常注意事項_Redis
- 2022-01-19 wangeditor富文本編輯器拓展菜單——格式刷
- 2022-09-30 GO中sync包自由控制并發(fā)示例詳解_Golang
- 2023-01-26 Python編程之順序執(zhí)行與程序的主入口詳解_python
- 2022-10-05 淺談Qt信號槽與事件循環(huán)的關(guān)系_C 語言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支