MySQL数据库Date型数据插入问题
MySQL数据库中,Date型数据插入问题,总是提示如下错误:
“java.util.Date cannot be cast to java.sql.Date”
解决办法:
1、首先,获取Date型数据
Date entry_date; //这是java.util.Date类型的
String entryDateString = "2013-01-01";
try{
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");
entry_date = sDateFormat.parse(entryDateString);
}catch (ParseException e){
System.out.println("ParseException:"+e.getMessage());
}
2、将Java类型的Date数据转换为SQL类型的数据(java.util.Date --> java.sql.Date)
prepareStatement.setDate(new java.sql.Date(entry_date.getTime()));
prepareStatement.executeUpdate();
3、注意:不同类型数据包含的时间信息不同
- java.util.Date 型数据包含 年月日和时分秒等信息;
- java.sql.Timestamp 型数据包含 年月日和时分秒,以及毫秒等信息;
- java.sql.Date 型数据只包含年月日信息;
- java.sql.Time 型数据只包含时分秒信息;
所以,上述不同类型数据间的转换,最好使用getTime()获取从1970年1月1日,00:00:00开始的毫秒数,然后再进行转换。否则,会出现错误。
实例如下:
java.util.Date d = new java.util.Date();
java.sql.Date d1 = new java.sql.Date(d.getTime());
java.sql.Time t1 = new java.sql.Time(d.getTime());
java.util.Date dd = new java.util.Date(d1.getTime());//+t1.getTime());
System.out.println("date d:" + d);
System.out.println("date d1: " + d1);
System.out.println("time t1: " + t1);
System.out.println("datetime dd: " + dd); java.sql.Timestamp ts = new java.sql.Timestamp(d.getTime());
System.out.println("timestamp ts:" + ts);//含有毫秒数
long lms = ts.getTime();
java.sql.Date date = new java.sql.Date(lms);
java.sql.Time time = new java.sql.Time(lms);
System.out.println("timestamp ts:" + date + " " + time); //无毫秒数
显示结果如下:
date d:Mon Aug 26 12:13:31 CST 2013
date d1: 2013-08-26
time t1: 12:13:31
datetime dd: Mon Aug 26 12:13:31 CST 2013
timestamp ts:2013-08-26 12:13:31.667
timestamp ts:2013-08-26 12:13:31
MySQL数据库Date型数据插入问题的更多相关文章
- Mysql 数据库date, datetime类型设置0000-00-00默认值(default)报错问题
Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题 现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00&q ...
- MySQL数据库表的数据插入、修改、删除、查询操作及实例应用
一.MySQL数据库表的数据插入.修改.删除和查询 CREATE DATABASE db0504; USE db0504; CREATE TABLE student ( sno ) NOT NULL ...
- Linux环境下MySQL数据库用SQL语句插入中文显示 “问号或者乱码 ” 问题解决!
问题: 在普通用户权限下执行 mysql -u root -p进入mysql数据库,中间步骤省略,插入数据:insert into 库名(属性)values('汉字'); 会出现如下提示: Quer ...
- 使用JDBC在MySQL数据库中快速批量插入数据
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(10W+),如何提高效率呢? 在JDBC编程接口中Statement 有两个方法特别值得注意: void addBatch ...
- mysql数据库使用insert语句插入中文数据报错
在mysql的命令行模式中,通过insert语句插入中文数据的时候报错,类似于下面这样: Incorrect string value: '\xE7\x8F' for column 'name' at ...
- python3操作MySQL数据库,一次插入多条记录的方法
这里提供一个思路,使用字符串拼接的方法,将sql语句拼接出来,然后去执行: l = ["] s = '-' print(s.join(l))
- 项目--解决MySQL数据库插入中文乱码
转载自:http://blog.csdn.net/zzh920625/article/details/51226312 情景再现] 如图,在项目中使用MySQL数据库,在做插入操作时,写入英文字符没有 ...
- MySQL数据库插入中文时出现Incorrect string value: '\xE6\x97\xB7\xE5\x85\xA8' for column 'sz_name' at row 1
今天在开发时候出现了这个问题 Incorrect string value: '\xE6\x97\xB7\xE5\x85\xA8' for column 'sz_name' at row 1 场景,往 ...
- shell脚本连接、读写、操作mysql数据库实例
本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...
随机推荐
- linux学习笔记10---命令nl
nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号! nl命令读取 file 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出.在输出中,n ...
- ExtFormReturn,ext
package cn.edu.hbcf.common.vo; public class ExtFormReturn { /** * 是否成功 */ private boolean success; / ...
- 【c语言】将正数变成相应的负数,将负数变成相应的正数
<pre name="code" class="cpp">// 将正数变成相应的负数,将负数变成相应的正数 #include <stdio.h ...
- hdu 4289(最小割)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4289 思路:求最小花费,最小割应用,将点权转化为边权,拆点,(i,i+n)之间连边,容量为在城市i的花 ...
- mysql-bin.000001文件的来源及处理方法【转】
在MySQL数据库中,mysql-bin.000001.mysql- bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令 ...
- CornerStone配置SVN,HTTP及SVN简单使用说明
本文转载至 http://blog.csdn.net/allison162004/article/details/38796857 已经安装了的小伙伴请直接看三步骤 一.下载地址 CornerSton ...
- 免费iOS第三方推送工具Urban Airship使用教程
本文转载至 http://blog.csdn.net/mamong/article/details/8542404 http://www.dapps.net/dev/iphone/ios-free ...
- Windows下将gvim8配置为Python IDE
目录 1.准备工作 2.安装 3.配置 _vimrc 4.编写和编译运行程序 正文 Windows下将gvim配置为Python IDE 回到顶部 1.准备工作 将下面的安装包或者文件下载好 1) P ...
- docker 从容器中拷文件到宿主机器中
sudo docker cp 1d051604e0ea:/root/data /home/developer/zhanghui/data
- ajax 传递数组类型参数后台接收不到的问题
在做排序功能的时候需要将一个数组的数据传递到后台,(当时怎么没用json,如果用json就没有那么多的事情了),数据提交采用ajax! 先看代码 js: submitbtn: function () ...