Java中日期类型和mysql中日期类型进行整合
1. java与mysql中日期、时间类型总结:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
mysql(版本: 5.1 . 50 )的时间日期类型如下: datetime 8bytes xxxx-xx-xx xx:xx:xx 1000 - 01 - 01 00 : 00 : 00 到 9999 - 12 - 31 23 : 59 : 59 timestamp 4bytes xxxx-xx-xx xx:xx:xx 1970 - 01 - 01 00 : 00 : 01 到 2038 date 3bytes xxxx-xx-xx 1000 - 01 - 01 到 9999 - 12 - 31 year 1bytes xxxx 1901 到 2155 time 3bytes xx:xx:xx - 838 : 59 : 59 到 838 : 59 : 59 (为了满足时间的加减运算) ------------------------------------------------------------------------ java( 1.6 ) 中能保存时间日期类型的类主要有 java.util.Date java.util.Calendar java.sql.Date java.sql.Time java.sql.Timestamp |
2. java提供与mysql方便交互的三种数据类型
java.sql.Date
java.sql.Time
java.sql.Timestamp
它们都是继承java.util.Date,算是对该类的精简,很适合跟数据库交互。
对于java.util.Date,以前从mysql中查询出来的时间日期类型,都放在java.util.Date类型里面了。这样带来一系列的问题,首先这个类提供的时间操作函数太少,一般都需要转换成java.util.Calendar再去操作。
对于java.util.Calendar,calendar具有强大的跳跃运算和间隔运算能力,在需要的时候,可以将sql系列的时间转成calendar。
先设置calendar为历元,然后从sql系列时间中转换,最后再转回sql系列时间。
3. 实验:java >> mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
===========java注入数据库========== java类型 mysql类型 成功与否 date date yes date time no date timestamp no date datetime no time date no time time yes time timestamp no time datetime no timestamp date yes timestamp time yes timestamp timestamp yes timestamp datetime yes ==========end java注入数据库======== 总规律,如果A完全包含B,则A可以向B注入数据,否则报错 |
4.实验:mysql >> java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
==========从数据库提取到java ========== mysql类型 java类型 成与否 date date yes date time yes --------------缺少的部分使用历元 date timestamp yes --------------缺少的部分使用历元 time date yes --------------缺少的部分使用历元 time time yes time timestamp yes --------------缺少的部分使用历元 timestamp date yes timestamp time yes timestamp timestamp yes datetime date yes datetime time yes datetime timestamp yes ==========end 从数据库提取到java======= 不会出错,缺少的部分使用历元,而不是当前日期时间 |
5. 当数据库中的日期值是null时,读取出来进行java对象实例化时:
1
2
3
4
5
|
null to db( null ) =====> 也是 null null to db(not null )=======> 数据库报错 db( null ) to java==========> 如果单字段出来,则整个entity都是 null ,如果带着其他不是 null 的字段出来,则可以实例化entity,本身字段依然是 null db(not null ) to java==========> 如果包含日期,则报错,否则为 000 最优解决方案,定义成可以为 null |
Java中日期类型和mysql中日期类型进行整合的更多相关文章
- Sql Server中的数据类型和Mysql中的数据类型的对应关系(转)
Sql Server中的数据类型和Mysql中的数据类型的对应关系(转):https://blog.csdn.net/lilong329329/article/details/78899477 一.S ...
- oracle数据库date类型和mysql数据库datetime类型匹配
oracle数据库有date类型,但是没有datetime类型 mysql数据库既有date类型也有datetime类型. Oracle数据库的date类型和mysql的date类型是不一样的,Ora ...
- java 8 Stream中操作类型和peek的使用
目录 简介 中间操作和终止操作 peek 结论 java 8 Stream中操作类型和peek的使用 简介 java 8 stream作为流式操作有两种操作类型,中间操作和终止操作.这两种有什么区别呢 ...
- Java数据类型和MySql数据类型对应一览
类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.String 12 CHAR N ...
- Java数据类型和MySql数据类型对应一览 [转]
类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.String 12 CHAR N ...
- Python3.x中bytes类型和str类型深入分析
Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和b ...
- 关于 Go 中 Map 类型和 Slice 类型的传递
关于 Go 中 Map 类型和 Slice 类型的传递 Map 类型 先看例子 m1: func main() { m := make(map[int]int) mdMap(m) fmt.Printl ...
- flink04 -----1 kafkaSource 2. kafkaSource的偏移量的存储位置 3 将kafka中的数据写入redis中去 4 将kafka中的数据写入mysql中去
1. kafkaSource 见官方文档 2. kafkaSource的偏移量的存储位置 默认存在kafka的特殊topic中,但也可以设置参数让其不存在kafka的特殊topic中 3 将k ...
- sqlserver 中数据导入到mysql中的方法以及注意事项
数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...
随机推荐
- SolrJ API 官方文档最佳实践
以下内容译自Solr Wiki官方文档,版权没有,随意转载. Solrj 是一个访问solr的Java客户端.它提供了一个java接口用于添加更新和查询solr索引.本页面介绍SolrJ最新版本1.4 ...
- 【HASPDOG】卸载
rpm -qa | grep aksusdb rpm -e aksusdb... rm -rf /var/hasplm
- Flask小demo---代码统计系统
功能要求: 管理员登录 # 第一天 班级管理 # 第一天 学生管理 # 第一天 学生登录 上传代码(zip文件和.py文件) 查看个人提交记录列表 highchar统计 学生列表上方使用柱状图展示现班 ...
- local class incompatible: stream classdesc serialVersionUID = -2897844985684768944, local class serialVersionUID = 7350468743759137184
local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 2427 ...
- SpringCloud常用注解
一 @EnableDiscoveryClient,@EnableEurekaClient的区别 SpringCLoud中的“Discovery Service”有多种实现,比如:eureka, con ...
- SCTP客户端与服务器
/** * @brief - Send a message, using advanced SCTP features * The sctp_sendmsg() function allows you ...
- SQL2008关于权限的解释
在SQL2008中我自己创建的一个登录名,可是那个登录名只可以用来登录,对数据库的操作什么都不能,连读取数据库都不可以.因为权限不够,只要把登录名的属性打开点击“服务器角色”,把public和sysa ...
- 浏览器被hao123,hao524劫持的解决办法
今天研究(翻,墙),装了几个插件,什么云帆.外遇.蓝灯 后来我的google浏览器被hao123劫持,百度浏览器被hao524劫持 删除浏览器快捷方式.属性目标里的后缀,过不多久又被劫持,把我搞毛了 ...
- 一步一步学习IdentityServer4 (2) 开始一个简单的事例
前面将来一些配置,但是很多都不是必要的,先放一些事例需要的简要配置把 既然是IdentityServer4 所里下面的例子我 直接放到 Linux上 测试环境 CentOS 7 +Nginx1.9.3 ...
- js获取光标位置并插入内容
先来几个网上找的参考资源,我爱互联网,互联网使我变得更加强大. https://blog.csdn.net/mafan121/article/details/78519348 详细篇,该作者很用心的解 ...