zoukankan      html  css  js  c++  java
  • MybatisPlus自动填充

    1.注解填充字段 @TableField(.. fill = FieldFill.INSERT) 生成器策略部分也可以配置!

        /**
         * 主键ID
         */
        @TableId(value = "id", type = IdType.AUTO)
        private Integer id;
        /**
         * 注册时间
         */
        @TableField(fill = FieldFill.INSERT)
        private Integer createTime;
    
        /**
         * 更新时间
         */
        @TableField(fill = FieldFill.INSERT_UPDATE)
        private Integer updateTime;

    2.自定义实现类 MyMetaObjectHandler,我的数据表中时间字段类型是int类型,单位是秒。新建类文件目录如下:

    @Component
    public class MyMetObjectHandler implements MetaObjectHandler {
    
        @Override
        public void insertFill(MetaObject metaObject) {
            //setFieldValByName(String fieldName, Object fieldVal, MetaObject metaObject)
            this.setFieldValByName("createTime",(int) (System.currentTimeMillis() / 1000),metaObject);
            this.setFieldValByName("updateTime",(int) (System.currentTimeMillis() / 1000),metaObject);
        }
    
        @Override
        public void updateFill(MetaObject metaObject) {
            this.setFieldValByName("updateTime",(int) (System.currentTimeMillis() / 1000),metaObject);
        }
    }

    3.测试Insert和Update。

    @RequestMapping(value = "/edit",method = RequestMethod.POST)
        public Object editUser(@ModelAttribute UserInfo user){
    
            //updateById方法在修改时,会根据实体类的每个属性进行非空判断,只有非空的属性对应的字段才会出现到SQL语句中
            Integer id = user.getId();
            boolean res;
            if (id > 0) {
                res = userInfoService.updateById(user);
            } else {
                res = userInfoService.save(user);
            }
    
            System.out.println(res);
    
            return "redirect:/user/userList";
    
        }
  • 相关阅读:
    Promis.then()
    原生JS简单封装JSONP跨域获取数据
    原生JavaScript手写Ajax
    VS Code保存代码自动按eslint格式fix
    html data-xx 及 data()注意事项
    C#委托和事件
    vue devServer proxy 代理无效的问题
    vue .sync的使用
    js中,0的判断
    使用idea启动node项目的问题
  • 原文地址:https://www.cnblogs.com/wjs2019/p/15592341.html
Copyright © 2011-2022 走看看