java.sql.Datetime?它存在吗?

时间:2013-09-13 13:02:04

标签: java mysql odbc

我试图在MySql数据库中插入一个Mysql datetime值...但是,我没有成功。

如果mysql数据类型为datetime,则数据类型java.sql.TimeStamp不起作用,但是,如果mysql数据类型为timestamp,则它可以正常工作;因此,除了拥有正确的数据类型外,我正在做正确的事情。

我缺少什么,有什么工作?

在建议开始到来之前,必须满足这些要求:

  1. 无法更改数据库架构
  2. 无论解决方案是什么,我希望能够使用准备好的陈述
  3. 我不想使用字符串数据类型
  4. 代码示例(如果字段具有数据类型时间戳,则此方法正常,如果字段为datetime,则将填充空值):

                 java.sql.Connection con = DriverManager.getConnection(url, user, password);
                 con.setAutoCommit(false);
                 java.sql.PreparedStatement preparedStatement = con.prepareStatement("insert into table (created_at) values (?)"); 
                for (int x =0; x < list.size(); ++x)
                {
                      java.util.Date dt = list.get(x);
                      java.sql.Timestamp dt_sql = null;
                      if(dt_dt!= null)
                      {
                         dt_sql= new java.sql.Timestamp(dt.getTime());
                         preparedStatement.setTimestamp(1, dt_sql);
                      }
                      else
                      {
                         preparedStatement.setNull(1, java.sql.Types.TIMESTAMP);
                      }
                      if ((x+1)%100 == 0)
                      {
                          preparedStatement.executeBatch();
                          con.commit();
                      } 
                }
                preparedStatement.executeBatch();
                con.commit();
    

0 个答案:

没有答案