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数据库为 ...
随机推荐
- Action方法调用
一.Action访问路径 Action的访问路径是由struts.xml文件中配置的Action所在包的命名空间,Action的名字和常struts.action.extension共同决定的 例如: ...
- R学习----数据类型
今天开始学习R语言了,没原因,就是想学 本人开发环境在ubuntu 16.04 LTS下 R命令提示符 终端直接输入R进入交互模式进行R学习.如下图 R脚本 # My first program in ...
- JavaScript绘图类 (DIV绘图)
主要的图形算法抄自一个叫w_jsGraphics.js的类库,第一次看到那个库的时候,感觉那是十分神奇的存在.不过估计现在那个库早就已经找不到了. 这是很早之前的一个DIV绘图类,那时候VML+SVG ...
- Flex上传文件Java端解决中文乱码问题
1.Flex端进行编码 public function encodeStr(str:String, charSet:String):String { var result:String =" ...
- sign-up 签约注册
sign-up 搜索网络['sin,ʌp] n. 注册; 签约;
- beautifulSoup安装
Python2.7 + beautifulSoup 4.4.1 安装配置 原创 2016年05月09日 10:20:30 标签: python 1261 1. 前言 最近研究python 的爬虫功能, ...
- MonoTouch
本文为2012年4月19日Xamarin研讨会OLO在线咨询高级软件工程师Greg Shackles的一份的演讲资料. 本文为2012年4月19日Xamarin研讨会OLO在线咨询高级软件工程师Gre ...
- [转]软件测试- 3 - Mock 和Stub的区别
由于一直没有完全搞明白Mock和Stub的区别,所以查了很多文章,而这一篇是做好的: http://yuan.iteye.com/blog/470418 尤其是8楼,Frostred的发言,描述地相当 ...
- 【Cloud Foundry】Cloud Foundry学习(四)——Service
在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com QQ:1494713801 Services:Cloud Foundry的Service模块从源码控制上看就 ...
- hdu 1051:Wooden Sticks(水题,贪心)
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...