一文解决数据库和页面展示的类型转换问题
发布日期:2021-05-07 19:44:49 浏览次数:22 分类:精选文章

本文共 1698 字,大约阅读时间需要 5 分钟。

前面已经分析过 ,这里分析的是非日期的数据库和页面展示交互问题

文章目录

一、问题引入

用户表中存在状态 status:表示用户是否被启用

在这里插入图片描述
数据库中存在的是0,1 值但是表现在界面上是:字符串显示
在这里插入图片描述

同理存入用户数据时,界面上选的是 开启,但是存储到数据库需要是 1 :

在这里插入图片描述
所以这就需要在 UserInfo 表中对其进行一定的处理操作

二、问题解决

这里主要拿用户表的 status 来说明这种转换的方式,因为数据库中存放的 status 是整型,但是页面交互的是字符串,所以声明 status 时,另外声明一个 statusStr

1. 从数据库到页面

这里主要是从数据库往页面进行输送,对其进行展示,所以主要牵扯到 status 的 get 方法:

public String getStatusStr() {           //状态0 未开启 1 开启        if (status == 0) {               statusStr = "未开启";        } else if (status == 1) {               statusStr = "开启";        }        return statusStr;    }

在这里插入图片描述

2. 从页面到数据库

这里主要就是页面输入用户信息,对其进行保存,所以主要是牵扯到 status 的set方法:

public void setStatus(int status) {           if ("未开启".equals(statusStr)) {               this.status = 0;        } else if ("开启".equals(statusStr)) {               this.status = 1;        } else {               this.status = status;        }    }

这里注意一定是三种情况判断,前两种是存储是判断,最后一种是默认的,也就是从数据库读取数据时进行判断

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、示例的 User 实体类定义

import lombok.Data;import java.util.List;/** * 与数据库中users对应*/@Datapublic class UserInfo {       private String id;    private String username;    private String email;    private String password;    private String phoneNum;    private int status;    private String statusStr;    private List
roles; public void setStatus(int status) { if ("未开启".equals(statusStr)) { this.status = 0; } else if ("开启".equals(statusStr)) { this.status = 1; } else { this.status = status; } } public String getStatusStr() { //状态0 未开启 1 开启 if (status == 0) { statusStr = "未开启"; } else if (status == 1) { statusStr = "开启"; } return statusStr; }}
上一篇:(Java)通过案例讲解项目中表与表之间关联的处理步骤
下一篇:一文学会 Spring Security 中的密码加密(bCryptPasswordEncoder)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月01日 03时07分23秒