文章目录
- 1 摘要
- 2 代码示例
- 3 参考文档
1 摘要
根据项目需要,在数据库查询时,可能需要对查询结果进行封装,为了避免前端抛出空指针异常(NullPointException)对于没有值的字段也不能返回空,而应该赋一个默认值,在使用 MYSQL 作为数据库时,可使用 IFNULL()
方法来实现这一功能
2 代码示例
有一用户表
CREATE TABLE `user` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id 主键',
`user_name` varchar(30) DEFAULT NULL COMMENT '用户名',
`user_passcode` varchar(100) DEFAULT NULL COMMENT '登陆密码',
`user_email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`user_insert_time` varchar(30) DEFAULT NULL COMMENT '用户注册时间',
`user_update_time` varchar(30) DEFAULT NULL COMMENT '用户更新时间',
`user_status` tinyint(4) DEFAULT '1' COMMENT '用户账号状态,1正常(默认),2禁止登陆',
`user_version` int(10) unsigned DEFAULT '1' COMMENT '版本控制字段(默认1)',
`user_del` tinyint(4) DEFAULT '0' COMMENT '逻辑删除字段,0正常(默认),1删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
查询用户信息:
SELECT
IFNULL(u.id,0), IFNULL(u.user_name,''), IFNULL(u.user_passcode,''),
IFNULL(u.user_email,'')
FROM `user` u
LIMIT 0,10
IFNULL(exp1,exp2)
: 当表达式1(exp1) 值为空(null)时,方法返回表达式2(exp2)的值