• springboot2.X整合mybatis使用joda时间格式变量完成插入操作


    开发工具使用的idea2022.3,数据库是mysql5.X系列,springboot用的是2.7系列,使用了java8的joda类型的时间格式完成mybatis的插入操作。下面贴代码说明实现过程

    项目结构如下图:

    下面说一些关键的maven配置

     

    
    
        org.mybatis.spring.boot
        mybatis-spring-boot-starter
        2.2.2
    
    
    
        io.eliez
        joda-time-mybatis
        2.0.2
    

    vacationMapper类的写法:

    @Mapper
    public interface VacationMapper {
    
    
          void addVactionApplyInfo(VacationApply vacationApply);
    }

    VacationApply写法

    import com.fasterxml.jackson.annotation.JsonFormat;
    import lombok.Getter;
    import lombok.Setter;
    import lombok.ToString;
    import org.joda.time.DateTime;
    
    import java.util.Date;
    
    @Getter
    @Setter
    @ToString
    public class VacationApply {
    
        //请假开始时间、结束时间、请假时长、申请人、对应实例ID、请假类型、
    
         private int vaID;
         private DateTime bTime;
         private DateTime eTime;
         private double len;//请假时长,转换成分钟数
         private String applicant;//请假申请人
         private String instanceID;//实例ID
         private String type;//请假类型
         private String desc;//请假原因
    }

    vacationMapper.xml的写法

    
    
    
    
    
       
          insert into vacationapply(`bTime`,`eTime`,`len`,`applicant`,`instanceID`,`type`,`desc`) VALUES (#{bTime,typeHandler=org.joda.time.mybatis.handlers.DateTimeTypeHandler},
                  #{eTime,typeHandler=org.joda.time.mybatis.handlers.DateTimeTypeHandler},
                  #{len},#{applicant},#{instanceID},#{type},#{desc})
       
    
    

    这里注意joda格式的字段需要指定类型转换就行了。

    打印的结果

    JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@4942e6af] will be managed by Spring
    ==>  Preparing: insert into vacationapply(`bTime`,`eTime`,`len`,`applicant`,`instanceID`,`type`,`desc`) VALUES (?, ?, ?,?,?,?,?)
    ==> Parameters: 2022-11-24 06:00:00.0(Timestamp), 2022-11-24 10:00:00.0(Timestamp), 0.0(Double), bajie(String), null, 事假(String), 有事(String)
    <==    Updates: 1

  • 相关阅读:
    通过浏览器打开某个应用程序
    [EI分享] 2022年第六届船舶,海洋与海事工程国际会议(NAOME 2022)
    WireShark 实践操作
    如何打造一个高性能、高效率、高自动化的UI框架
    JTAG介绍
    【0144】postmaster创建System V Shared Memory(共享内存)的背后机制
    【我不熟悉的css】09-深度选择器deep不好使
    电子沙盘数字沙盘大数据人工智能开发教程第16课
    销售管理岗位竞聘PPT模板
    JavaFX Scene Builder Menu 控件详解
  • 原文地址:https://blog.csdn.net/qq_34309663/article/details/127795356