mybatis解决的几个问题(illegalArgumentException、提交事务、)

当遇到MyBatis的IllegalArgumentException异常,可能的原因包括namespace错误、resultMap类型不匹配等。确保实体类拥有无参构造函数是解决此问题的一种方法。另外,记得在增删改操作时提交事务,可以通过设置openSession方法参数为true自动开启并提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报illegalArgumentException异常:

在使用mybatis中,若出现illegalArgumentException异常,解决方案为:

一查看namespace是否正确,二查看你的resultMap类型的是否正确,然后最后一种是在开发中遇到的,如:

实体类:
Student:

Teacher:

当我们要查询Student的信息,由于Student实体中存在Teacher的实体,所以在mybatis我们可以用子查询的方法去查找想要的数据:

Studentmapper.xml:

 在这里我测试的时候出现了IllegalArgumentException异常,经过排查是Student类缺少了无参构造,若遇到上述情况,可以把实体类的有参和无参都补上尝试。

提交事务:

mybatis在进行增删改的时候需要提交事务才能执行

 另一种方法是在获得sqlsession时自动开启提交事务

openSession方法中参数为true,则不需要去写sqlSession.commit() 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值