java时间日期类型学习
java.sql.Date, Time, Timestamp对应sql中的date, time, timestamp.
但是很多数据库中用date不只表示年月日,还表示时分秒,但jdbc通过getDate从结果集中
获取date时会把时分秒的信息截取掉,以对应sql中date的标准,所以从数据库中的date字段获取信息且信息包含时分秒时,要通过timestamp来获取,这样不至于丢失信息,同样对于Time也可能是同样的道理吧!。java.sql.Date只保存年月日,时分秒都会设置成默认的,不管之前是什么。因为Date是根据sql规范而来的类,所以比较理想一点
抽象:
当一个对象超过本身应该拥有的信息, 对于其客户端而言,就应该把她当作比对象本身的类型更泛型的类型
后面学习
java.util.Date 表示特定的瞬间,精确到毫秒,使用DateFormat类格式化和分析日期字符串,解释年月等字段的功能已废弃,使用Calendar来实现日期和时间字段之间的转换。
构造函数 Date(), 初始化的时间
Date(long)
java.util.Calendar(日历) 为特定瞬间与时间字段之间的转换提供方法,还可以修改时间字段,通过工厂方法getInstance()来获取默认Local的日历。通过 get(int)来获取时间字段,通过setTime()和getTime()向java.util.Date相互转化。
java.util.Local final类。与区域敏感的操作包装类
java.sql.Date java.util.Date的年月日的装饰者,与sql中的date相对应,当通过setDate(),getDate()与数据库交互是jdbc会根据sql的规范把date的时分秒清零。
java.sql.Time 是时分秒的装饰者,
java.sql.Timestamp是年月日时分秒的装饰者(秒后面还有个0)。 使用setTimestamp()设置查询参数时,会混淆优化器使对应的字段无法做索引。
java.text.DateFormat 格式化Date和解析Date字符串的抽象类。
java.text.SimpleFormat Date格式化的基本实现, 有2种方式构造格式划器
1: 直接通过构造函数 SimpleFormat(pattern)
2:通过工厂方法获取默认格式化类,在通过applyPattern(pattern)来设置格式化格式(文档中看的)。但是通过工厂类获取的实例是抽象类类型,要使用applyPattern()还要向下转型。
职责分析与设计
java.util.Date只表示瞬间,而这一瞬间的字段表示和区域有关系,不易于国际化。所以把这个瞬间的字段获取和国际化的变化从瞬间中隔离出来,也就是Calendar存在的理由,而Calendar中有聚合一个Local表示与本地有关的信息。这样怎么了,不知道。纯属乱写。:-(
由于格式化的格式变化无穷,因此把这个变化单独提取出来,应付格式的变化,再想。如果A在方面B上有结果A.f(B),而B又可以参数化,因此可以把B当作一个主题提取出来,参数,f为其手下,从而可以应付手下的简单替换B.f(A, param)
java.sql.时间类型,都是特定类型的Date,比Date的使用范围窄了,所有感觉设计的不是很好,应该使用对象的适配而不是类的适配,新手很容易混淆,尤其想我这样的。及时继承也应该是私有,不应该对sql.时间类型的签名为util.Date.
分享到:
相关推荐
JDBC支持各种数据类型,包括基本数据类型(如INT、VARCHAR)、日期类型(DATE、TIME、TIMESTAMP)、大文本类型(CLOB)和大二进制对象(BLOB)。 #### 六、DAO 设计模式 DAO(Data Access Object)设计模式用于...
- 如何正确地设置和获取日期类型的数据。 #### 十、用JDBC访问文本和二进制数据 - **文本数据**: - 将文本数据插入数据库。 - 从数据库中读取文本数据。 - **二进制数据**: - 插入图片等二进制数据。 - 从...
3. **日期/时间类型**:包括`DATE`(日期)、`TIME`(时间)、`DATETIME`(日期和时间)、`TIMESTAMP`(时间戳)。在JDBC中,这些类型对应`java.sql.Date`、`java.sql.Time`、`java.sql.Timestamp`。 4. **二进制...
`java.sql.Date`专用于SQL日期,而`java.util.Date`是通用日期类型,两者在处理时需要进行适当的转换。对于大段文本数据,MySQL使用`TEXT`类型存储;而对于二进制数据,则使用`BLOB`或`LONGBLOB`类型。 #### DAO层...
日期类型在数据库应用中非常重要,JDBC提供了以下几种日期类型的支持: - **Date**:用于表示不包含时间部分的日期。 - **Time**:用于表示不包含日期部分的时间。 - **Timestamp**:用于表示包含日期和时间部分的...
### J2EE-JDBC学习笔记知识点详述 #### JDBC驱动注册的三种方式 在Java开发中,使用JDBC(Java Database Connectivity)与数据库进行交互前,必须先注册对应的数据库驱动。J2EE环境下,通常有以下三种注册方式: ...
**6.2 日期类型** - 包括 `Date` 和 `Timestamp` 类型。 - `Date` 只包含日期信息,而 `Timestamp` 包含日期和时间信息。 **6.3 CLOB 类型** - 大文本数据类型,适合存储大量的文本数据。 **6.4 BLOB 类型** - 二...
JDBC(Java Database ...通过这个实验,学生可以学习到如何在Java Web应用中利用JDBC与数据库进行交互,以及如何设计简单的DAO层来处理数据。这是一个很好的实践项目,有助于理解数据库操作的核心概念和实际应用。
【JDBC教程】 JDBC(Java Database Connectivity)是Java编程语言中用来规范客户端程序如何访问数据库的应用...通过学习JDBC,开发者可以编写跨平台的数据库应用,支持多种数据库系统,增强了程序的可移植性和灵活性。
**5.2 日期类型** - `Date`:代表日期值。 - `Time`:代表时间值。 - `Timestamp`:代表日期时间值。 **5.3 CLOB类型** - `CLOB`:Character Large Object,用于存储大量文本数据。 **5.4 BLOB类型** - `BLOB`...
2. **数据类型**:MySQL支持多种数据类型,如整数(INT)、浮点数(FLOAT, DOUBLE)、字符串(VARCHAR, CHAR)、日期和时间(DATE, TIME, DATETIME)等,选择合适的数据类型对存储和检索数据至关重要。 3. **CRUD...
JDBC-ODBC桥接器是利用Microsoft的ODBC技术作为中介,它可以连接到多种类型的数据库,但缺点是依赖于ODBC,移植性较差。而加载纯Java数据库驱动程序则不依赖特定平台,具有更好的可移植性。 在使用JDBC-ODBC桥接器...
SWING提供更友好的用户体验,而Scanner适合快速原型开发或学习目的。 6. **业务逻辑处理**: - 需要编写控制层代码来调用DAO方法,处理用户输入,执行相应的数据库操作,并处理可能出现的异常。 7. **事务管理**...
学习JDBC和MySQL的基础知识,不仅可以帮助你理解和操作数据库,还可以为进一步深入学习数据库设计、SQL优化、事务处理、存储过程等高级主题打下坚实基础。在实际开发中,熟练掌握JDBC能有效提升数据操作的效率和代码...
1. **JDBC驱动类型**:JDBC驱动分为四种类型,从1.0到4.0,分别是类型1(JDBC-ODBC桥接),类型2(数据库特定的API),类型3(纯Java中间层),类型4(纯Java数据库驱动,无需ODBC)。 2. **JDBC连接过程**:包含...
MySQL和JDBC数据库知识点总结 在本资源中,我们将讨论 MySQL 和 JDBC 数据库相关的知识点,涵盖数据库的基本...* 通过学习本资源,读者可以掌握 MySQL 和 JDBC 数据库的基本知识和技能,提高自己的数据库开发能力。
这个备份可能是尚硅谷MySQL与JDBC课程的一部分,包含了学员在学习过程中创建的代码示例或项目。 文件名“kwan1117”可能是一个特定的课程章节、日期或者学生的ID,具体含义可能需要查看文件内容才能明确。在JDBC...