date如何应用到mysql,如何在Java中将Date插入MySQL数据库表?

How do I insert date, without time, to MySQL database table?

I tried these codes but I get the following exception:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Mar 05 00:00:00 GMT-08:00 2014,1,1)' at line 1

NOTE: In MySQL table, data type of this column I chose date datatype

String Date = "\\d\\d\\d\\d\\D[0-1][0-9]\\D[0-3][0-9]";

while (DateMatcher.find()) {

String date = DateMatcher.group().trim();

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

Date myDate = formatter.parse(date);

db.insert_date(myDate,2,1);

}

I've problem only with date part

Query for inserting Date :

// insert DATE

public void insert_date(Date date_str, int sentence_id ,int document_id ){

// Statements allow to issue SQL queries to the database

try {

statement = connect.createStatement();

System.out.println( "insert into Date(date_Str,Sen_id,doc_id) " +

" values(" + date_str + "," + sentence_id + "," + document_id + ")"

);

statement.executeUpdate(

"insert into test.Date(date,Sen_id,doc_id)" +

" values(" + date_str + "," + sentence_id + "," + document_id + ")"

);

}

catch(Exception e ){System.out.println(e);};

// Result set get the result of the SQL query

}

解决方案

First of all, to persist a java.util.Date into a database in Java, you will have to convert it to java.sql.Date. The fortunate thing about JDBC SQL Date is that it's a subclass of Java Date.

Therefore, to create a java.sql.Date from java.util.Date, you will have to do this:

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

Date myDate = formatter.parse(date);

java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());

db.insert_date(sqlDate);

Make sure that db.insert_date accepts only java.sql.Date.

Where you will have to call your PreparedStatement.setDate() function.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值