前言
在项目中偶然遇到一个问题,报空指针异常,经排查,是mybatis查询结果映射到List时映射为了[null]数组。这就导致CollectionUtils.isEmpty判断为false。
问题复现
首先,我们准备三张表,t_user、t_user_role 和t_role,结构如下:
CREATE TABLE `t_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT '' COMMENT '姓名',
`account` varchar(50) DEFAULT '' COMMENT '账号',
`password` varchar(100) DEFAULT '' COMMENT '密码',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=112 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户表';
复制代码
CREATE TABLE `t_user_role` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11),
`role_id` int(11),
`create_time` datetime DEFAULT CURRENT_TIM