jsp向MySql中插入时间
2014-04-04 11:33
441 查看
在做jsp项目的时候遇到一个问题,就是把java.util.Date类型的数据插入到Mysql中的时候,如果数据库字段类型设置为dateTime类型,数据库中的时间就会变成“0000-00-00 00:00:00”,如果数据库设置为date类型数据库中的时间就会是“0000-00-00”,经过百度发现Mysql数据库中的date对应java中的时间类型为java.sql.Date,Mysql数据库中的dateTime对应java中的时间类型为 java.sql.Timestamp,于是我将java中的时间类型全部改成java.sql.Date才解决问题。
为了方便以后学习将MySql,Sql Server,Oracle三种常用数据库的数据类型与java的数据类型对应关系整理如下:MySql数据类型与Java数据类型的对应:
SQL Server数据类型与Java数据类型的对应:
Oracle数据类型与java数据类型的对应:
以上三个表格都是从别人那拷贝过来的,感谢三位博主。
为了方便以后学习将MySql,Sql Server,Oracle三种常用数据库的数据类型与java的数据类型对应关系整理如下:MySql数据类型与Java数据类型的对应:
类型名称 | 显示长度 | 数据库类型 | JAVA类型 | JDBC类型索引(int) |
VARCHAR | L+N | VARCHAR | java.lang.String | 12 |
CHAR | N | CHAR | java.lang.String | 1 |
BLOB | L+N | BLOB | java.lang.byte[] | -4 |
TEXT | 65535 | VARCHAR | java.lang.String | -1 |
INTEGER | 4 | INTEGER UNSIGNED | java.lang.Long | 4 |
TINYINT | 3 | TINYINT UNSIGNED | java.lang.Integer | -6 |
SMALLINT | 5 | SMALLINT UNSIGNED | java.lang.Integer | 5 |
MEDIUMINT | 8 | MEDIUMINT UNSIGNED | java.lang.Integer | 4 |
BIT | 1 | BIT | java.lang.Boolean | -7 |
BIGINT | 20 | BIGINT UNSIGNED | java.math.BigInteger | -5 |
FLOAT | 4+8 | FLOAT | java.lang.Float | 7 |
DOUBLE | 22 | DOUBLE | java.lang.Double | 8 |
DECIMAL | 11 | DECIMAL | java.math.BigDecimal | 3 |
BOOLEAN | 1 | 同TINYINT | ||
ID | 11 | PK (INTEGER UNSIGNED) | java.lang.Long | 4 |
DATE | 10 | DATE | java.sql.Date | 91 |
TIME | 8 | TIME | java.sql.Time | 92 |
DATETIME | 19 | DATETIME | java.sql.Timestamp | 93 |
TIMESTAMP | 19 | TIMESTAMP | java.sql.Timestamp | 93 |
YEAR | 4 | YEAR | java.sql.Date | 91 |
Java数据类型 | Hibernate数据类型 | 标准SQL数据类型(PS:对于不同的DB可能有所差异) |
byte、java.lang.Byte | byte | TINYINT |
short、java.lang.Short | short | SMALLINT |
int、java.lang.Integer | integer | INGEGER |
long、java.lang.Long | long | BIGINT |
float、java.lang.Float | float | FLOAT |
double、java.lang.Double | double | DOUBLE |
java.math.BigDecimal | big_decimal | NUMERIC |
char、java.lang.Character | character | CHAR(1) |
boolean、java.lang.Boolean | boolean | BIT |
java.lang.String | string | VARCHAR |
boolean、java.lang.Boolean | yes_no | CHAR(1)('Y'或'N') |
boolean、java.lang.Boolean | true_false | CHAR(1)('Y'或'N') |
java.util.Date、java.sql.Date | date | DATE |
java.util.Date、java.sql.Time | time | TIME |
java.util.Date、java.sql.Timestamp | timestamp | TIMESTAMP |
java.util.Calendar | calendar | TIMESTAMP |
java.util.Calendar | calendar_date | DATE |
byte[] | binary | VARBINARY、BLOB |
java.lang.String | text | CLOB |
java.io.Serializable | serializable | VARBINARY、BLOB |
java.sql.Clob | clob | CLOB |
java.sql.Blob | blob | BLOB |
java.lang.Class | class | VARCHAR |
java.util.Locale | locale | VARCHAR |
java.util.TimeZone | timezone | VARCHAR |
java.util.Currency | currency | VARCHAR |
SQL数据类型 | JDBC类型代码 | 标准的Java类型 | Oracle扩展的Java类型 |
---|---|---|---|
1.0标准的JDBC类型: | |||
CHAR | java.sql.Types.CHAR | java.lang.String | oracle.sql.CHAR |
VARCHAR2 | java.sql.Types.VARCHAR | java.lang.String | oracle.sql.CHAR |
LONG | java.sql.Types.LONGVARCHAR | java.lang.String | oracle.sql.CHAR |
NUMBER | java.sql.Types.NUMERIC | java.math.BigDecimal | oracle.sql.NUMBER |
NUMBER | java.sql.Types.DECIMAL | java.math.BigDecimal | oracle.sql.NUMBER |
NUMBER | java.sql.Types.BIT | boolean | oracle.sql.NUMBER |
NUMBER | java.sql.Types.TINYINT | byte | oracle.sql.NUMBER |
NUMBER | java.sql.Types.SMALLINT | short | oracle.sql.NUMBER |
NUMBER | java.sql.Types.INTEGER | int | oracle.sql.NUMBER |
NUMBER | java.sql.Types.BIGINT | long | oracle.sql.NUMBER |
NUMBER | java.sql.Types.REAL | float | oracle.sql.NUMBER |
NUMBER | java.sql.Types.FLOAT | double | oracle.sql.NUMBER |
NUMBER | java.sql.Types.DOUBLE | double | oracle.sql.NUMBER |
RAW | java.sql.Types.BINARY | byte[] | oracle.sql.RAW |
RAW | java.sql.Types.VARBINARY | byte[] | oracle.sql.RAW |
LONGRAW | java.sql.Types.LONGVARBINARY | byte[] | oracle.sql.RAW |
DATE | java.sql.Types.DATE | java.sql.Date | oracle.sql.DATE |
DATE | java.sql.Types.TIME | java.sql.Time | oracle.sql.DATE |
TIMESTAMP | java.sql.Types.TIMESTAMP | javal.sql.Timestamp | oracle.sql.TIMESTAMP |
2.0标准的JDBC类型: | |||
BLOB | java.sql.Types.BLOB | java.sql.Blob | oracle.sql.BLOB |
CLOB | java.sql.Types.CLOB | java.sql.Clob | oracle.sql.CLOB |
用户定义的对象 | java.sql.Types.STRUCT | java.sql.Struct | oracle.sql.STRUCT |
用户定义的参考 | java.sql.Types.REF | java.sql.Ref | oracle.sql.REF |
用户定义的集合 | java.sql.Types.ARRAY | java.sql.Array | oracle.sql.ARRAY |
Oracle扩展: | |||
BFILE | oracle.jdbc.OracleTypes.BFILE | N/A | oracle.sql.BFILE |
ROWID | oracle.jdbc.OracleTypes.ROWID | N/A | oracle.sql.ROWID |
REF CURSOR | oracle.jdbc.OracleTypes.CURSOR | java.sql.ResultSet | oracle.jdbc.OracleResultSet |
TIMESTAMP | oracle.jdbc.OracleTypes.TIMESTAMP | java.sql.Timestamp | oracle.sql.TIMESTAMP |
TIMESTAMP WITH TIME ZONE | oracle.jdbc.OracleTypes.TIMESTAMPTZ | java.sql.Timestamp | oracle.sql.TIMESTAMPTZ |
TIMESTAMP WITH LOCAL TIME ZONE | oracle.jdbc.OracleTypes.TIMESTAMPLTZ | java.sql.Timestamp | oracle.sql.TIMESTAMPLTZ |
相关文章推荐
- 【转】Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间
- JSP向MySql插入汉字时,数据库中显示为null
- Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间
- Mysql中created_at字段与updated_at字段关于自动更新与自动插入时间戳
- 在mysql中实现字段记录修改时间而不是插入时间
- 在jsp中插入时间控件的使用方法
- mysql实现默认插入当前时间
- mysql插入和更新时自动更新为当前时间
- mysql数据库插入时间日期数据异常com.mysql.jdbc.MysqlDataTruncation
- mysql:如何插入一个范围内的时间戳
- Mysql 升级到 5.6 后插入语句时间字段报错:Incorrect datetime value: '' for column 'createtime'
- java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)
- python插入mysql时间字段
- Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间
- jsp操作MySQL实现查询/插入/删除功能示例
- MySQL 创建表时,设置时间字段自动插入当前时间
- 在php MYSQL中插入当前时间
- jsp中向数据库中插入当前时间的方法精确到秒
- mysql插入时间戳问题
- java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)