`
weitao1026
  • 浏览: 1043513 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
不同的数据库中字符串连接符不同,下面列举几种数据库的连接符:
1、oracle数据库中的连接符为||,例如连接字符串AB、CD可以使用“AB”||“CD”;
2、SQL SERVER 数据库连接符为+,例如连接字符串AB、CD可以使用“AB”+“CD”;
3、MYSQL数据库中连接符为+,例如连接字符串AB、CD可以使用“AB”+“CD”;


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

 

      以前从mysql中查询出来的时间日期类型,都放在java.util.Date类型里面了。这样带来一系列的问题,首先这个类提供的时间操作函数太少,一般都需要转换成java.util.Calendar再去操作;其次即使使用了java.util.Calendar,也不是很方便,一个很简单的想法,需要写很多代码才能实现;java.util.Date的数据内容为xxxx-xx-xx xx:xx:xx,有时候不需要时间,只需要日期。从数据库中取值出来的日期类型放到这个类中的时候,会在时间位自动补上当前时间。这使得本来两个日期在数据库中是相等的,取出来放到这个类得时候就不再相等了,需要去考虑时间上的误差,很是头疼。

 

java提供与mysql方便交互的三种数据类型

 

java.sql.Date

java.sql.Time

java.sql.Timestamp

它们都是继承java.util.Date,算是对该类的精简,很适合跟数据库交互。

 

===========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注入数据,否则报错


 

==========从数据库提取到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=======
不会出错,缺少的部分使用历元,而不是当前日期时间

 

 

 

 

 


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.sql时间系统的运算系列

after,before
compareTo原小于参数返回<0,等于返回=0,大于返回>0

优点:于数据库同类型,可以方便传输(无论是从DB到src还是反方向),方便比较大小
缺点:缺少运算单元,不适合时间跳跃的运算和间隔的运算

总结:calendar具有强大的跳跃运算和间隔运算能力,在需要的时候,可以将sql系列的时间转成calendar。
先设置calendar为历元,然后从sql系列时间中转换,最后再转回sql系列时间。
calendar只用于时间有跳跃的转换,对比运算统一使用sql系统,这样代码将更清晰

 

 

 

 

date 和 calendar怎么初始化为格林威治时间

new date(0)
calendar.setTimeInMillis(0)


sql系列时间

static valueOf


new XX(0)获得历元
new XX(year+1900, month+1,day,hour,minute,second,nano)已过时,创建也没错

toString或者SimpleDateFormat

 

分享到:
评论

相关推荐

    在Excel自选图形绘制线条和连接符.rar

    总的来说,Excel自选图形和连接符功能是数据可视化和工作流呈现的重要工具。它们不仅可以帮助我们快速创建流程图,还能在项目管理、教学和演示中发挥巨大作用。通过不断的实践和探索,你将能够灵活运用这些功能,为...

    sql2005数据库驱动及连接符

    本文将深入探讨SQL Server 2005数据库驱动及其连接符,帮助开发者更好地理解和使用这个系统。 SQL Server 2005提供了多种数据库驱动,主要分为以下几类: 1. **ODBC(Open Database Connectivity)驱动**:ODBC是...

    robomaster大小符识别数据集

    "robomaster大小符识别数据集"是一个专为机器人竞赛RoboMaster设计的特定任务训练数据集,主要用于训练机器视觉系统识别数码管和九宫格中的数字。在RoboMaster比赛中,参赛队伍的机器人需要能够快速准确地识别屏幕或...

    js FLASH幻灯片字符串中有连接符&的处理方法

    在处理FLASH幻灯片字符串时,我们经常会遇到含有特殊字符的情况,其中连接符“&”是一个常见的问题。连接符“&”在HTML链接中被用作参数分隔符,如果它出现在字符串中而未被正确编码,就可能导致链接在点击时参数...

    android 蓝牙4.0 扫描 连接 发送数据 获取数据 得到RSSI值

    本教程将详细介绍如何在Android应用中实现蓝牙4.0的扫描、连接、发送数据、接收数据以及获取RSSI(Received Signal Strength Indicator,信号强度指示器)值的关键步骤。 首先,确保你的Android设备支持蓝牙4.0并...

    ORA-12514TNS监听程序当前无法识别连接描述符中请求服务的解决方法[借鉴].pdf

    ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务的解决方法 Oracle 是一款功能强大且广泛应用的关系数据库管理系统,它提供了强大的数据存储和管理功能。但是,在使用 Oracle 时,用户经常会遇到各种错误...

    电力系统数据标记语言-E语言格式规范CIM-E.doc

    1. 符号定义:E语言定义了一系列符号,其中包括类起始符、类结束符、系统声明起始符、系统声明结束符、数据块头引导符、数据行引导符、注释引导符、类和实体连接符、赋值连接符、名称连接符、父类与子类的连接符、...

    蓝牙连接单片机获取蓝牙模块数据

    - **服务发现**:连接建立后,Android设备需要查找单片机提供的服务(Service),这些服务通常包含特定的UUID(通用唯一识别符)。 - **数据交换**:在找到相关服务后,设备可以读取或写入特征值(Characteristic...

    Birt数据源设置方试

    6. 完成后,测试连接并保存数据源,之后就可以在报表设计中使用这个数据源了。 接下来,我们转向“在BIRT报表中使用平面文件(flat file)数据源”。平面文件数据源适用于处理非结构化或半结构化的数据,如CSV、TXT等...

    Python中的连接符(+、+=)示例详解

    ### Python中的连接符(+、+=)示例详解 #### 前言 在Python编程语言中,连接符(+ 和 +=)是非常基础且重要的概念。它们不仅在字符串处理上非常常见,在处理其他序列类型(如列表、元组等)时也同样适用。本文将...

    labview写入数据到sql server2005

    在LabVIEW中,可以使用“数据库连接”VI(Virtual Instrument)来建立与ODBC数据源的连接。这个VI通常包含以下几个步骤: 1. 连接:使用配置好的ODBC数据源名称,调用适当的函数创建数据库连接。 2. 准备语句:根据...

    STC8-USBCDC模拟串口收发数据

    这些描述符定义了设备的特性,包括其功能、支持的数据速率等。一旦主机完成了枚举过程,设备将进入配置状态,可以进行数据传输。 模拟串口的关键在于设置CDC类的虚拟串口端点。这通常包括一个控制端点用于设置和...

    清华大学精品大数据之数据清洗课程PPT课件(48页)含习题 第5章 文本、web、数据库、增量数据抽取.pptx

    - 制表符在文本文件中起到分隔作用,便于数据识别和抽取。不同类型的制表位(左对齐、居中、右对齐等)有助于数据对齐和格式化。 2. **Web数据抽取** - Web数据抽取涉及HTML文件、JSON数据和XML数据的处理。 - ...

    蓝牙ble数据发送接收详解

    对于通知或指示类型的数据,服务器可以在数据更新时主动推送给已连接的客户端,而无需客户端的读取请求。 在实际项目中,服务和广播的作用不可忽视。服务允许自定义数据结构,满足特定应用需求。广播则能让设备在未...

    向NaviCat表格中导入的.txt文本数据

    1. **打开NaviCat**:启动NaviCat客户端,连接到你需要导入数据的目标数据库。 2. **选择数据库表**:在数据库对象浏览器中,找到目标数据库和对应的表,该表将接收导入的数据。 3. **导入操作**:点击右键,选择...

    怎么把数据库表中的数据一行一行的写入文本文件,并且每个字段加上分隔符

    本文将详细解析如何通过Java代码实现这一功能,重点在于如何逐行读取数据库表中的数据,并在每个字段之间添加指定的分隔符。 ### 一、准备工作 在开始编写代码之前,确保以下几点: 1. **数据库连接**:你需要一个...

    Excel2021教程:导入数据与链接数据库.docx

    Excel 还允许用户管理和编辑已有的外部数据连接。在“工作簿连接”对话框中,可以创建新的连接,修改现有连接的属性,甚至删除不再需要的连接。这种管理方式确保了数据源的整洁性和有效性。 最后,Excel 提供了刷新...

Global site tag (gtag.js) - Google Analytics