Java生成日期时间存入Mysql数据库

2 篇文章 0 订阅

一、创建数据库标准

1.表的必备三个字段:id、gmt_create、gmt_modified

2.gmt_create是创建时间,gmt_modified是更新时间

3.然而创建时间和更新时间的默认设置不要让数据库来设置、统一用Mybatis-plus的Handler管理

二、数据库表结构

CREATE TABLE `ums_member` (
  `id` bigint(20) NOT NULL,
  `username` varchar(64) DEFAULT NULL,
  `password` varchar(64) DEFAULT NULL,
  `icon` varchar(500) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `nick_name` varchar(200) DEFAULT NULL,
  `note` varchar(500) DEFAULT NULL,
  `gmt_create` datetime DEFAULT NULL,
  `gmt_modified` datetime DEFAULT NULL,
  `login_time` datetime DEFAULT NULL,
  `status` int(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在这里插入图片描述

三、使用步骤

1.实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "ums_member")
public class UmsMember implements Serializable {
    @TableId(value = "id", type = IdType.NONE)
    private Long id;

    @TableField(value = "username")
    private String username;

    @TableField(value = "password")
    private String password;

    @TableField(value = "icon")
    private String icon;

    @TableField(value = "email")
    private String email;

    @TableField(value = "nick_name")
    private String nickName;

    @TableField(value = "note")
    private String note;

    @TableField(value = "gmt_create",fill = FieldFill.INSERT)
    private Date gmt_create;

    @TableField(value = "gmt_modified",fill = FieldFill.INSERT_UPDATE)
    private Date gmt_modified;

    @TableField(value = "login_time")
    private Date loginTime;

    @TableField(value = "status")
    private Integer status;

    private static final long serialVersionUID = 1L;
}

在这里插入图片描述

2.实体类操作数据库时间工具类

/**
 * @author :Mr.ZJW
 * @date :Created 2022/3/2 10:08
 * @description:数据库自动插入时间工具类
 */
@Component
public class MyHandler implements MetaObjectHandler {

    public void insertFill(MetaObject metaObject) {
        System.out.println("添加插入时间");
        this.setFieldValByName("gmt_create",new Date(),metaObject);
        this.setFieldValByName("gmt_modified",new Date(),metaObject);
    }

    public void updateFill(MetaObject metaObject) {
        System.out.println("更新插入时间");
        this.setFieldValByName("gmt_modified",new Date(),metaObject);
    }
}

在这里插入图片描述

3.测试

@SpringBootTest
@RunWith(SpringRunner.class)
public class UmsMeberTest {

    @Autowired
    private UmsMemberMapper umsMemberMapper;

    @Test
    public void test01(){
        UmsMember umsMember = new UmsMember();
        umsMember.setUsername("jowell");
        umsMember.setStatus(0);
        umsMember.setPassword("jowell");
        umsMember.setNote("not");
        umsMember.setNickName("cike");
        umsMember.setEmail("2280252534@qq.com");
        umsMemberMapper.insert(umsMember);
    }

操作成功:
在这里插入图片描述

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
要将 Java 对象存储到 MySQL 的 JSON 字段中,你可以按照以下步骤进行操作: 1. 首先,确保你的 MySQL 数据库表中有一个 JSON 类型的字段,用于存储 JSON 数据。 2. 将 Java 对象转换为 JSON 字符串。你可以使用 JSON 解析库,如 Jackson、Gson 或 JSON.simple 来实现这一步骤。 - 如果你使用 Jackson 库,可以使用 `ObjectMapper` 对象将 Java 对象转换为 JSON 字符串。例如: ```java ObjectMapper objectMapper = new ObjectMapper(); String jsonString = objectMapper.writeValueAsString(yourObject); ``` 这里的 `yourObject` 是你想要存储为 JSON 的 Java 对象。 - 如果你使用 Gson 库,可以使用 `Gson` 对象将 Java 对象转换为 JSON 字符串。例如: ```java Gson gson = new Gson(); String jsonString = gson.toJson(yourObject); ``` 这里的 `yourObject` 是你想要存储为 JSON 的 Java 对象。 - 如果你使用 JSON.simple 库,可以使用 `JSONObject` 和 `JSONArray` 对象将 Java 对象转换为 JSON 字符串。例如: ```java JSONObject jsonObject = new JSONObject(); jsonObject.put("property", yourObject.getProperty()); // 设置其他属性... String jsonString = jsonObject.toJSONString(); ``` 3. 将生成的 JSON 字符串插入到 MySQL 数据库表的 JSON 字段中。你可以使用 INSERT 语句来实现这一步骤。 ```java String insertQuery = "INSERT INTO your_table (json_column) VALUES (?)"; PreparedStatement statement = connection.prepareStatement(insertQuery); statement.setString(1, jsonString); statement.executeUpdate(); ``` 这里的 `your_table` 是你要插入数据的表名,`json_column` 是 JSON 字段的列名,`connection` 是你的数据库连接对象。 请注意,这只是一种常见的方法,你可以根据自己的需求和使用的 JSON 解析库进行调整。确保将库添加到你的项目依赖中,并按照它们的文档进行配置和使用。同时,还要注意 JSON 字符串的长度限制,确保它不超过 MySQL 中 JSON 字段的最大长度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喝汽水的猫^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值