广告
返回顶部
首页 > 资讯 > 精选 >mybatis中string和date如何转换
  • 134
分享到

mybatis中string和date如何转换

2023-06-20 20:06:35 134人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关mybatis中string和date如何转换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实体里用的java.util.date,数据库用的是datetime,页面是字符串<in

这篇文章给大家分享的是有关mybatis中string和date如何转换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

实体里用的java.util.date,数据库用的是datetime,页面是字符串<input type="date">。将页面标签<input type="date">的内容添加到数据库

实体

public class BaseInfORMation {     //信息主键    private String id;    //信息标题    private String title;    //信息类型id(需要在数据字典定义)    private String typeCode;    //属性id(需要在数据字典定义)    private String propertityId;    //信息可视范围,部门可见或者整个单位可见,值是组织结构的id    private String scope;    //内容    private String content;    //发布人id    private String releaseId;    //是否发布,1发布,0保存    private Integer released;    //接收人id,对应tb_base_information_receiver的主键    private String receiver;    //创建时间就是发布时间        private Date createDate;    //更新时间        private Date updateDate;    //开始时间        private Date beginDate;    //结束时间        private Date endDate;    //定时器,规定什么时候发布信息       private Date timer;

。。。。。省略getter和setter

CREATE TABLE `tb_base_information` (  `id` varchar(48) NOT NULL,  `title` varchar(128) DEFAULT NULL COMMENT '标题',  `type_code` varchar(48) DEFAULT NULL COMMENT '类型id(需要在数据字典定义),公告、新闻等',  `propertity_id` varchar(48) DEFAULT NULL COMMENT '属性id(需要在数据字典定义)',  `scope` varchar(255) DEFAULT NULL COMMENT '信息可视范围,部门可见或者整个单位可见,值是组织结构的id',  `content` text COMMENT '内容',  `release_id` varchar(48) DEFAULT NULL COMMENT '发布人id',  `released` int(11) DEFAULT NULL COMMENT '是否发送,1发送0保存为草稿',  `create_date` datetime DEFAULT NULL COMMENT '创建时间',  `update_date` datetime DEFAULT NULL COMMENT '更新时间',  `begin_date` datetime DEFAULT NULL COMMENT '信息有效期的起始时间',  `end_date` datetime DEFAULT NULL COMMENT '信息有效期的结束时间',  `timer` datetime DEFAULT NULL COMMENT '定时器,指定发送信息的时间',  `expiry_date` datetime DEFAULT NULL COMMENT '是否永久有效,1是0否',  `to_top` int(1) DEFAULT NULL COMMENT '信息是否置顶,1置顶,0否',  `mark_star` int(1) DEFAULT NULL COMMENT '做星标标记用,1在星标公告里显示,0否',  `receiver` varchar(48) DEFAULT NULL COMMENT '接收人id,对应tb_base_information_receiver的主键',  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='信息发布表';

页面

mybatis中string和date如何转换

<form name="form" method="post" action="/information/test" enctype="multipart/form-data">      类型:<input type="text" name="typeCode" ><br/>    标题:<input type="text" name="title" ><br/>    内容:<textarea name="content"  cols="30" rows="10"></textarea><br/>    创建时间:<input type="date" name="createDate"/><br/>    更新时间:<input type="date" name="updateDate"/><br/>    有效期开始时间:<input type="date" name="beginDate"/><br/>    有效期结束时间:<input type="date" name="endDate"/><br/>    定时器:<input type="date" name="timer"/><br/>      <input type="submit" value="提交"> </form>

controller

@RequestMapping("/test")public String test(BaseInformation baseInformation, httpservletRequest request) throws Exception {     String id = UUID.randomUUID().toString();    baseInformation.setId(id);    //baseInformation.setId(UUID.randomUUID().toString().replaceAll("-",""));    System.out.println("request.getParameter(createDate)" + request.getParameter("createDate"));     Date createDate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("createDate"));    Date updateDate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("createDate"));    Date beginDate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("beginDate"));    Date endDate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("endDate"));    Date timer = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("timer"));    baseInformation.setCreateDate(createDate);    baseInformation.setUpdateDate(updateDate);    baseInformation.setBeginDate(beginDate);    baseInformation.setEndDate(endDate);    baseInformation.setTimer(timer);     service.save(baseInformation);    return "information/test";}

mybatis中string和date如何转换

运行结果

mybatis中string和date如何转换

Field error in object 'baseInformation' on field 'createDate': rejected value [2018-11-08]; codes [typeMismatch.baseInformation.createDate,typeMismatch.createDate,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [baseInformation.createDate,createDate]; arguments []; default message [createDate]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'createDate'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value '2018-11-08'; nested exception is java.lang.IllegalArgumentException]    at org.springframework.WEB.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:117)    at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121)    at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:158)    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128)    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)    at javax.servlet.Http.HttpServlet.service(HttpServlet.java:650)    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)

修改方法

修改实体

string和date的类型转换失败,此时在实体中,对需要进行转换的类型添加如下注解,实现java.lang.String和java.util.Date之间自动转换

@DateTimeFormat(pattern="yyyy-MM-dd")//页面写入数据库时格式化   @JSONField(format="yyyy-MM-dd")//数据库导出页面时json格式化

mybatis中string和date如何转换

修改contoller

既然java.lang.String和java.util.Date之间可以自动转换了,后台就不需要通过request获取参数来进行转换,可以将红方格中的注释掉

mybatis中string和date如何转换

依赖添加

1.注解@JsonFormat

  <!--JsonFormat-->         <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-annotations</artifactId>            <version>2.8.8</version>        </dependency>         <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-databind</artifactId>            <version>2.8.8</version>        </dependency>         <dependency>            <groupId>org.codehaus.jackson</groupId>            <artifactId>jackson-mapper-asl</artifactId>            <version>1.9.13</version>        </dependency>

2.注解@DateTimeFormat

@DateTimeFormat的使用和@jsonFormat差不多,首先需要引入是spring还有jodatime,spring我就不贴了

  <!-- joda-time -->        <dependency>            <groupId>joda-time</groupId>            <artifactId>joda-time</artifactId>            <version>2.3</version>        </dependency>

感谢各位的阅读!关于“mybatis中string和date如何转换”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: mybatis中string和date如何转换

本文链接: https://www.lsjlt.com/news/299852.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatis中string和date如何转换
    这篇文章给大家分享的是有关mybatis中string和date如何转换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实体里用的java.util.date,数据库用的是datetime,页面是字符串<in...
    99+
    2023-06-20
  • mybatis中string和date的转换方式
    实体里用的java.util.date,数据库用的是datetime,页面是字符串<input type="date">。将页面标签<input type="dat...
    99+
    2022-11-12
  • 如何在php中将date转换成string
    今天就跟大家聊聊有关如何在php中将date转换成string,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语...
    99+
    2023-06-14
  • String类型和Date类型相互转换(java)
    ** String类型和Date类型怎样相互转换? ** 1、format方法可以把Date类型转换成特定格式的String类型,如果Date类型和定义的SimpleDateFormat长度不一致会自动在后面补充0 //自定义需要输出的St...
    99+
    2023-08-23
    java jvm sql
  • java中日期转换Date、DateTime、TimeStamp、String之间相互转换
    1.Date转String 1.1Date->String //date->String Date date = new Date(); String format = dateFormat.fo...
    99+
    2023-09-07
    java
  • java中如何将string转为date
    小编给大家分享一下java中如何将string转为date,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!常用的java框架有哪些1.SpringMVC,Sprin...
    99+
    2023-06-14
  • 如何将String转Date类型
    ① 先创建一个日期格式化类 SimpleDateFormat ,然后从前端获取用户操作数据产生的创建时间,最后通过SimpleDateFormat 实例化对象的parse()方法将String类型转换成Date类型。 //String转Da...
    99+
    2023-09-01
    java
  • 怎么在mongodb中将string类型转换成Date类型
    在mongodb中将string类型转换成Date类型的方法:1.启动mongodb;2.登录mongodb数据库;3.使用数据库;4.使用find()方法转换;具体步骤如下:首先,在命令行中启动mongodb服务;net start Mo...
    99+
    2022-10-23
  • php如何用date()转换时间戳
    今天小编给大家分享一下php如何用date()转换时间戳的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。时间戳时间戳是指一种表...
    99+
    2023-07-05
  • Java中String和Char的相互转换
    一、String类型转化为char类型二、char类型转化为String类型 一、String类型转化为char类型 用String.charAt()来让String类型转化为cha...
    99+
    2023-09-01
    java
  • 如何在 Java 中将 String 转换为 int?
    问: 如何将 String 转换为 int? "1234" → 1234 答1: huntsbot.com – 高效赚钱,自由工作 String myString = "1234";int ...
    99+
    2023-10-24
    java 开发语言 jvm rxjava boosting
  • Android中String与int如何相互转换
    小编给大家分享一下Android中String与int如何相互转换,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、如何将字串 String 转换成整数 int方法一:int i = Inte...
    99+
    2023-06-22
  • 如何在JavaScript中将string转换成json
    今天就跟大家聊聊有关如何在JavaScript中将string转换成json,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JavaScript中string转json的方法:1、使用...
    99+
    2023-06-14
  • Python如何将list中的string转换为int
    目录如何将list中的string转换为int在Python2中这样操作在Python3中这样操作Python-string,list,int互转记录如何将list中的string转...
    99+
    2022-11-11
  • php中如何将date转为timestamp
    这篇文章给大家分享的是有关php中如何将date转为timestamp的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在PHP中,可以使用strtotime()函数来将date(日期)转为timestamp(时间戳...
    99+
    2023-06-15
  • 关于mysql中string和number的转换问题
    目录mysql中string和number的转换总结原因如下(1)数值型字符串(2)number和string拼接字符串(3)string和number拼接字符串(4)数值型字符串则会转换成相应的number(5)num...
    99+
    2022-06-13
    mysqlstring转number string转换number mysql中的string mysql中的number
  • python3中bytes和string之间的互相转换
    前言 Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str...
    99+
    2022-06-04
    bytes string
  • 如何将string转换为int类型
    在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。本文将向您介绍如何将字符串转换为整数。1. 使用内置函数int()Python...
    99+
    2023-08-02
  • 如何把char数组转换成String
    目录把char数组转换成String将传入的数组转为String型,存入数据库。去掉空格和括号[]总结把char数组转换成String 调用reverseStr()传入一个字符串&q...
    99+
    2023-02-15
    char数组转换String char数组转换 char数组String
  • java中byte[]类型如何转换为String类型
    在 Java 中将 byte[] 类型转换为 String 类型,可以使用 String 的构造函数或者静态方法。 使用 String 构造函数 byte[] byteArray = {97, 98, 99}; String str = n...
    99+
    2023-09-08
    java servlet 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作