iview与jpa或者hibernate前后台日期处理

1、页面

<DatePicker type="date" @on-change="model.planStartData=$event" v-model.trim="model.planStartData" placeholder="Select date" style="width: 100%"></DatePicker>

2、后台处理

(1)、后台实体类中date字段的注解

@Temporal(TemporalType.DATE)
@Column
private Date actualStartData;

(2)、创建一个日期处理控制层

public class BaseController<T> {

    /**
     * 事件类型公共处理
     * @param binder
     */
    @InitBinder
    protected void initBinder(WebDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
    }
}

3、在其他控制类中继该控制类(上面的字段actualStartData在Project类中,在Project处理数据控制层继承上面的类)

public class ProjectController extends BaseController<Project>  {

    @PostMapping("add")
    public void addProject(Project Project) {
        // 此处为逻辑处理
    }
}

4、前端在添加的时候对字段进行判断是否有值,没值的话删除该字段(para为封装后传到后台的project的对象)

let para = this.model
if (!para.planStartData) {
   delete para.planStartData
}

5、下来就可以直接保存了

6、回显,在数据库查到数据库,显示编辑模态框时,对date数据提前进行处理

      /**
       * 显示编辑界面
       * @param  {object} row 当前行数据
       */
      handleEdit(row) {
        this.$refs['edit'].showModal('edit')
        // 模拟异步请求(获取详情)
        setTimeout(() => {
          let edit = Object.assign({}, row)
          if (edit.planStartData) {
            edit.planStartData = new Date(edit.planStartData)
          }
          this.edit = {
            ...edit
          }
          this.$refs['edit'].getPatch() // 获取补丁数据
        }, 800)
      },

 回显的逻辑根据自己需求自己处理,这里只需知道要用到

if (edit.planStartData) {
   edit.planStartData = new Date(edit.planStartData)
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值