经常有这样的情况,从数据库中获取的数据格式并不是我们想在JSP页面上展示的,我推荐给大家以下三种mysql到JSP之间数据转换格式。

数据库sql直接转换

有一些数据,我们可以直接通过sql直接转换,不过一般处理格式比较单一的内容。

convert(case m.stauts when 1 then '启用' when 2 then '停收新单' when 3 then '停用账户' end,char) stauts

这种形式不善于处理格式比较复杂的类型,不过便捷一次到位。

利用JSTL

JSTL的格式处理也相当不错,这里推荐一篇文章JSTL标签 参考手册

<fmt:formatNumber value="${item.order_price}" pattern="#,##0.00#"/>

这种形式需要前后台数据遵循jstl的标签格式。

控制端进行转换

这种方式主要是利用controller对获取的数据进行转换,替换为前端需要的格式,然后供前端显示,这里我详细说一下。

先看看后台数据:

id uid username ip logintime logoutime
1 1 00010001 127.0.0.1 1434679452651 1435021823460


然后我们通过sql语句进行获取原始数据

<select id="getMemLoginfoList" resultType="hashmap" parameterType="map">
select m2.uid,convert(m2.username,char) username,m2.ip ip,m2.logintime logintime,m2.logoutime logoutime,(m2.logoutime-m2.logintime) onlinetimefrom loginfo
</select>


然后我们通过controller进行转换

List<HashMap> memloginfolist = this.memLoginfoMapper.getMemLoginfoList(vo, vo.createRowBounds());for (HashMap map : memloginfolist) {String logintime = DateUtil.formatTimeMillis(map.get("logintime").toString());String logoutime = DateUtil.formatTimeMillis(map.get("logoutime").toString());String onlinetime = DateUtil.formatTimeInterval(map.get("onlinetime").toString());map.put("logintime", logintime);map.put("logoutime", logoutime);map.put("onlinetime", onlinetime);}
public static String formatTimeInterval(String time) {long timeInterval = Long.parseLong(time);long day = 0;long hour = 0;long min = 0;long sec = 0;day = timeInterval / (24 * 60 * 60 * 1000);hour = (timeInterval / (60 * 60 * 1000) - day * 24);min = ((timeInterval / (60 * 1000)) - day * 24 * 60 - hour * 60);sec = (timeInterval / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);StringBuilder result = new StringBuilder();if (day > 0) {result.append(day);result.append("天");}if (hour > 0) {result.append(hour);result.append("时");}if (min > 0) {result.append(min);result.append("分");}if (sec > 0) {result.append(sec);result.append("秒");}return result.toString();}


前端显示为



这种形式处理起来比较随意。

总结:之前我一直想写一个自定义的jstl标签,但是用起来更麻烦,所以就推荐上面这三种方式给大家。

mysql到JSP之间数据格式转换相关推荐

  1. mysql time类型转换_mysql8 参考手册--Date日期和Time时间类型之间的转换

    在某种程度上,您可以将值从一种时间类型转换为另一种时间类型.但是,价值可能会有所变化或信息丢失.在所有情况下,时间类型之间的转换都取决于结果类型的有效值范围.例如,尽管 DATE, DATETIME和 ...

  2. Java框架抽离的一些经历1:MYSQL数据库安装和 Oracle转换成Mysql数据库

    本篇记录独自抽离部署一个java项目,方便以后查阅参考. 开发语言:JSP 部署项目环境:JDK1.8 + Mysql8.023 开发工具:IDEA 代码同步工具:SVN 一.数据库 之前数据库使用的 ...

  3. java 嵌套对象转xml_Gson对Java嵌套对象和JSON字符串之间的转换 | 学步园

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...

  4. MYSQL 与 Oracle 之间的数据类型转换

    2009-07-21 MYSQL 与 Oracle 之间的数据类型转换 关键字: mysql, oracle, 数据类型, 转换 Table 2-4 Default Data Type Mapping ...

  5. c 语言转换成php语言,C++_C 语言进制之间的转换,二进制、八进制和十六进制向 - phpStudy...

    C 语言进制之间的转换 二进制.八进制和十六进制向十进制转换都是非常容易的,就是"按权相加". 所谓"权",也即"位权".例如,十进制第1位 ...

  6. MySQL中各种日期格式转换

    日期格式的转换总结 1).unix time和日期格式互转 比如zabbix history表中的clock字段保存的是unix time,看到的是一串数字,可以使用FROM_UNIXTIME去转换 ...

  7. 天宝数字水准仪数据格式转换

    天宝数字水准仪数据格式转换 利用C#语言和测量平差相关知识相结合,生成的格式转换软件可应用于测量相关的生产生活中.本文的主要内容是将天宝数字水准仪的数据格式转换为南方平差易相对应的数据格式.从仪器中导 ...

  8. 汉字编码(【Unicode】 【UTF-8】 【Unicode与UTF-8之间的转换】 【汉字 Unicode 编码范围】【中文标点Unicode码】【GBK编码】【批量获取汉字UNICODE码】)

    参考博客: Unicode与UTF-8互转(C语言实现):http://blog.csdn.net/tge7618291/article/details/7599902 汉字 Unicode 编码范围 ...

  9. python结合ogr2ogr之地理数据格式转换-1

    前面写过一篇公众号文章,当时为了能将矢量CAD数据转换成kml,找到了一个开源的.net库netdxf,该库支持dxf文件直接读写,方便快捷: DXF转KML-1http://mp.weixin.qq ...

最新文章

  1. python int str_python int str
  2. linux数组删除数据,JavaScript在数组的循环中删除元素
  3. 5u fb库 三菱plc_三菱FX5U PLC入门必备基础知识特点
  4. JVM - 应用JVM核心参数推荐设置
  5. CBT的完整形式是什么?
  6. php事务 面向对象,PHP面向对象之事务脚本模式(详解)
  7. 为什么要使用数据连接池
  8. 一系列JavaScript的基础工具
  9. [2019杭电多校第二场][hdu6601]Keen On Everything But Triangle
  10. 实现Oracle查询用户所有表
  11. java经常用到的英文_Java中用到的英文单词,你知道多少?
  12. Navicat Premium 中文版注册码
  13. 数据挖掘-基于随机森林模型的企业偷漏税纳税人识别
  14. 计算机水冷原理,水冷电脑流动的是什么“水”
  15. 仿制苏宁易购—静态网页
  16. 分享史上Java最牛逼,最简短的代码
  17. 刘彬20000词汇04
  18. Python视频剪辑Auto-Editor一键预处理口播无声片段
  19. Visual studio 2013安装失败总结
  20. 清理yarn、npm缓存包

热门文章

  1. Java(2)-Java IO输入输出流
  2. springboot redis做缓存
  3. ctf密码学ECC,自己给自己挖坑
  4. vue qrcode生成二维码 并拼装url参数
  5. dell笔记本关闭触摸屏
  6. C语言简单算法之求交错序列前N项和,统计学生平均成绩与及格人数,求1到100的和,求奇数分之一序列前N项和,找出最小值,求n!,统计字符,最佳情侣身高差
  7. 从3万条豆瓣短评看《雷神3》
  8. 杭电oj-2067 小兔的棋盘(卡特兰数)
  9. 基于bootstrap的前端分页。带省略号和上下页。
  10. 用PerfHUD来调试商业游戏