DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),Datetime时间插入五种方式(六)
- 问题背景
-
-
- DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),单条增删改查CRUD(一)
- DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),selectByExample,insertSelective,countByExample,selectOneByExample的使用(二)
- DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),deleteByExample,batchInsert,updateByExampleSelective,updateByExample的使用(三)
- DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),page分页和limit的使用(四)
- DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),insert和update插入返回带自增主键的两种方式(五)
- DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),Datetime时间插入五种方式(六)
-
- 时间插入
- 总结
- Lyric:做好准备
问题背景
根据之前介绍的Mybatis-generator,本章介绍我们常用的几种时间插入到mysql的方式
- 插件可以自动生成mapper映射文件
- 可以自己灵活更改sql语句
注意事项:
- 因为我写的是一个系列,在之前的文章介绍过的一般不会重复介绍,可以根据以下链接查看之前的知识点
- 默认已安装mysql6或以上版本
- 默认已安装JDK
- 可以根据本文的项目搭建自己创建工程,也可以直接下载源码进行参考
- 第一篇文章有数据表创建,我在贴一份吧,源码里面也有
# 创建数据库
CREATE DATABASE mysqlTest;
# 选择使用数据库
USE mysqlTest;
# 创建表t_article并插入相关数据
DROP TABLE IF EXISTS datetime_record;
DROP TABLE IF EXISTS generator_record;
CREATE TABLE datetime_record (
id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录id',
create_time datetime(3) COMMENT '创建时间',
update_time datetime(3) COMMENT '更新时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE generator_record (
id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录id',
create_time varchar(50) COMMENT '创建时间',
update_time varchar(50) COMMENT '更新时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),单条增删改查CRUD(一)
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),selectByExample,insertSelective,countByExample,selectOneByExample的使用(二)
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),deleteByExample,batchInsert,updateByExampleSelective,updateByExample的使用(三)
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),page分页和limit的使用(四)
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),insert和update插入返回带自增主键的两种方式(五)
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),Datetime时间插入五种方式(六)
时间插入
1 数据库类型为DateTime,使用new Date()进行插入时间
@Test
public void datetimeTest1() {
Date date = new Date();
DatetimeRecord datetimeRecord = DatetimeRecord.builder()
.createTime(date)
.updateTime(date)
.build();
int insert = datetimeRecordMapper.insert(datetimeRecord);
log.info("insert: {}", insert);
}
注意后面的小数点是在创建表的时候,添加的,保留三位小数
2 数据库类型为DateTime,使用Timestamp进行插入,这个精度比Date低一些
@Test
public void datetimeTest2() {
Date date = new Date();
//Timestamp比Date精度低一些
Timestamp timestamp = new Timestamp(date.getTime());
DatetimeRecord datetimeRecord = DatetimeRecord.builder()
.createTime(timestamp)
.updateTime(timestamp)
.build();
int insert = datetimeRecordMapper.insert(datetimeRecord);
log.info("insert: {}", insert);
}
3 数据库类型为varchar,使用字符串进行插入
package com.yg.mybatisgenerator.utils;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeUtils {
public final static String DATE_TIME_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss";
public final static String DATE_FORMAT_PATTERN = "yyyy-MM-dd";
public static String getNowDate() {
Date data = new Date();
SimpleDateFormat formatter = new SimpleDateFormat(DATE_TIME_FORMAT_PATTERN);
String currentTime = formatter.format(data);
return currentTime;
}
}
@Test
public void datetimeTest3() {
GeneratorRecord generatorRecord = GeneratorRecord.builder()
.createTime(DateTimeUtils.getNowDate())
.updateTime(DateTimeUtils.getNowDate())
.build();
int insert = generatorRecordMapper.insert(generatorRecord); // 成功返回1,插入一条数据成功
log.info("generatorRecord: {}", generatorRecord);
log.info("insert: {}", insert);
GeneratorRecord record = generatorRecordMapper.selectByPrimaryKey(1L);
log.info("generatorRecord: {}", record);
}
4 数据库类型为DateTime,使用SimpleDateFormat格式化插入
@Test
public void datetimeTest4() throws ParseException {
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DATE_TIME_FORMAT_PATTERN);
String format = simpleDateFormat.format(date);
log.info("format: {}", format);
date = simpleDateFormat.parse(format);
DatetimeRecord datetimeRecord = DatetimeRecord.builder()
.createTime(date)
.updateTime(date)
.build();
int insert = datetimeRecordMapper.insert(datetimeRecord);
log.info("insert: {}", insert);
}
@Test
public void datetimeTest5(){
DatetimeRecord datetimeRecord = DatetimeRecord.builder()
.build();
int insert = datetimeRecordMapper.insert(datetimeRecord);
log.info("insert: {}", insert);
}
总结
- 可以把更新操作改成now(),就不用每次都自己插入了
作为程序员第 73 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …
Lyric:做好准备
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/110802.html