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型数据插入问题的更多相关文章

  1. Mysql 数据库date, datetime类型设置0000-00-00默认值(default)报错问题

    Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题 现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00&q ...

  2. MySQL数据库表的数据插入、修改、删除、查询操作及实例应用

    一.MySQL数据库表的数据插入.修改.删除和查询 CREATE DATABASE db0504; USE db0504; CREATE TABLE student ( sno ) NOT NULL ...

  3. Linux环境下MySQL数据库用SQL语句插入中文显示 “问号或者乱码 ” 问题解决!

    问题: 在普通用户权限下执行 mysql -u root -p进入mysql数据库,中间步骤省略,插入数据:insert into 库名(属性)values('汉字'); 会出现如下提示:  Quer ...

  4. 使用JDBC在MySQL数据库中快速批量插入数据

    使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(10W+),如何提高效率呢? 在JDBC编程接口中Statement 有两个方法特别值得注意: void addBatch ...

  5. mysql数据库使用insert语句插入中文数据报错

    在mysql的命令行模式中,通过insert语句插入中文数据的时候报错,类似于下面这样: Incorrect string value: '\xE7\x8F' for column 'name' at ...

  6. python3操作MySQL数据库,一次插入多条记录的方法

    这里提供一个思路,使用字符串拼接的方法,将sql语句拼接出来,然后去执行: l = ["] s = '-' print(s.join(l))

  7. 项目--解决MySQL数据库插入中文乱码

    转载自:http://blog.csdn.net/zzh920625/article/details/51226312 情景再现] 如图,在项目中使用MySQL数据库,在做插入操作时,写入英文字符没有 ...

  8. 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 场景,往 ...

  9. shell脚本连接、读写、操作mysql数据库实例

    本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...

随机推荐

  1. Mongodb 和 Solr 实时同步

    一.安装前准备 1.mongo-connector(基于python)中间件 2.python-3.4.3.msi 3.Mongodb 4.Solr 二.配置Mongodb集群 1).配置replic ...

  2. apache ab测试

    网站并发测试,网站服务使用的是apache2.4 因此使用ab来测试网站性能. windows使用cms 打开apache/bin 运行ab.exe (......../apache/bin/ab), ...

  3. mysql—Access denied for user 'root'@'localhost' (using password:NO)

    安装mysql未设置初始密码,登录提示Access denied for user 'root'@'localhost' (using password:NO): 解决方案:  sudo /etc/i ...

  4. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

    Could not fetch URL https://pypi.python.org/simple/six/: There was a problem confirming the ssl cert ...

  5. 剖析top命令显示的VIRT RES SHR值

    http://yalung929.blog.163.com/blog/static/203898225201212981731971/ http://www.fuzhijie.me/?p=741 引  ...

  6. CH Round #54 - Streaming #5 (NOIP模拟赛Day1)(被虐瞎)

    http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20%28NOIP%E6%A8%A1%E6%8B%9F%E8%B ...

  7. Android中TextView和EditView经常使用属性设置

    Android开发中最经常使用的几乎相同就是TextView和EditView了,在使用它时.我们也会设置它的一些属性,为了让我们设计的更好看,设置的更合理.这里记下它的经常使用属性,方便后期查阅. ...

  8. VS2013远程调试IIS中的网站

    问题描述一般网站发布到远程iis中了.我们就无法调试了... 今天查到个可以远程调试iis或winform的方法: 记录下 第一步:copy 本地 C:\Program Files (x86)\Mic ...

  9. MAC Ruby版本需要升级至2.2.2以上

    第一例: 默认情况下,Mac OS X 系统已经安装好 Ruby(最新的 Mavericks 随机的 Ruby 版本为 2.0.0p247),安装在 /System/Library/Framework ...

  10. (转)SQL执行顺序

    SQL语句理解:http://blog.jobbole.com/55086/ 窗口函数/分析函数:http://blog.csdn.net/mfkpie/article/details/1636451 ...