赞
踩
【摘要】 MyBatis 作为一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。
一、mybatis总结
1.mybatis查询/更新语句,没有找到符合条件的记录,会返回什么?
返回类型为String的, 实际返回null;
返回类型为对象的:实际返回null ;
返回类型为列表等集合: 实际返回空集合[];
返回类型为Boolean:实际返回false
当数据库语句插入条件不满足,会返回false;比如使用dual的SQL语句;
2.mybatis会抛出哪些常见异常?
不是所有的异常,都认为程序出异常要报错,
比如用户重复收藏商品,可以直接返回成功,这时候对“违反唯一键”异常要特殊处理。
(1) 插入语句
DataIntegrityViolationException: 违反非空约束、数据大小超过约束
DuplicateKeyException:违反唯一键约束
CannotAcquireLockException: for update nowait 超时
(2)更新语句
条件不满足时,会返回false
数据库操作应该判断返回值,比如下面BUG:
(3) bug类,表字段找不到等场景
MyBatisSystemException
BadSqlGrammarException
3.事务里面套用for update,看上去绕过了事务
等for update获取锁后&#
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。