求助!!如何在java代码中,将日期插入mysql数据库(对应字段类型是datetime),用JDBC连接数据库。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助!!如何在java代码中,将日期插入mysql数据库(对应字段类型是datetime),用JDBC连接数据库。相关的知识,希望对你有一定的参考价值。

我用java.sql.Data中的valueof(str)方法只能插入2012-04-08,没有时分秒的。。

java.util.Date date = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));//获取系统时间

java.sql.Timestamp date1=new java.sql.Timestamp(date.getTime());//把java.util.Date类型转换为java.sql.Timestamp类型
最后用setTimestamp();方法就可以插入到mysql数据库中了
参考技术A 你在插入前定义一个时时间的简单格式
SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
在插入数据库时用 bartDateFormat.format(你的时间转变格式)
参考技术B java.sql.Timestamp 用这个才有时分秒,不过这个在最后多了个.毫秒,使用的时候截取字串长度就行了 参考技术C 写一个类把时间封装起来:public Test//insert into [tablename] values("id","",Test.getDate(),"")
public static String getDate()
Calendar c = Calendar.getInstance();
String yy = c.get(c.YEAR)+"";
String mm =(c.get(c.MOUTH)+1)+"";
String dd = c.get(c.DATE)+"";
if(mm.length!=2)
mm=0+mm;
if(dd.length!=2)
dd=0+dd;
return yy+mm+dd; 当前系统时间

如何在netbeans java中将图像插入mysql数据库

【中文标题】如何在netbeans java中将图像插入mysql数据库【英文标题】:How to insert image to mysql database in netbeans java 【发布时间】:2016-05-26 09:51:20 【问题描述】:

我对编程知之甚少。我需要将图像保存在 MySQL 数据库中。我创建了一个数据库表,并且有一列用于添加具有 longblob 数据类型的图像。 我有一个按钮的代码,可以从 PC 的文件夹中选择图像,然后将其加载到 jlable。现在我需要将此图像插入数据库。

这是我的代码;

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 
    JFileChooser fc=new JFileChooser(); 
    fc.showOpenDialog(this); 
    File f=fc.getSelectedFile(); 
    String path=f.getAbsolutePath(); 
    jLabel1.setIcon(new ImageIcon(path)); 

    try 
        FileInputStream fin=new FileInputStream(f); 
        int len=(int)f.length(); Class.forName("com.mysql.jdbc.Driver"); 

        Connection con=DriverManager.getConnection("jdbc:my­sql://localhost/hss", "root", "bis123"); 
        PreparedStatement ps=con.prepareStatement("Insert into profile values(?)"); 

        ps.setBinaryStream(1, fin, len); 
        int status=ps.executeUpdate(); 

        if(status > 0)  
            jLabel2.setText("Successfully inserted in DB"); 
        else 
            jLabel2.setText("Image not inserted!"); 
         
    catch(Exception e)
        System.out.println(e); 
    

【问题讨论】:

【参考方案1】:

在 MySQL 中,当我们使用 blob 类型存储数据时,它只支持 5 kb 的图像容量。

创建表image (

idvarchar(45) 默认为空,

sizeint(11) 默认为空,

imagelongblob

);

在上面的代码中创建了数据库表

这是在数据库中插入图像的java代码

import java.sql.*;
import java.io.*;
public class InsertImagesMysql
public static void main(String[] args)
    System.out.println("Insert Image Example!");
    String driverName = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "test";
    String userName = "root";
    String password = "root";
    Connection con = null;
    try
       Class.forName(driverName);
       con = DriverManager.getConnection(url+dbName,userName,password);
       Statement st = con.createStatement();
       File imgfile = new File("pic.jpg");

      FileInputStream fin = new FileInputStream(imgfile);

       PreparedStatement pre =
       con.prepareStatement("insert into Image values(?,?,?)");

       pre.setString(1,"test");
       pre.setInt(2,3);
       pre.setBinaryStream(3,(InputStream)fin,(int)imgfile.length());
       pre.executeUpdate();
       System.out.println("Successfully inserted the file into the database!");

       pre.close();
       con.close(); 
    catch (Exception e1)
        System.out.println(e1.getMessage());
    

    

这是从数据库中检索数据的代码

import java.io.*;
import java.sql.*;
public class RetriveImagesMysql
public static void main(String[] args)
    System.out.println("Retrive Image Example!");
    String driverName = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "test";
    String userName = "root";
    String password = "root";
    Connection con = null;
    try
        Class.forName(driverName);
        con = DriverManager.getConnection(url+dbName,userName,password);
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery("select image from image");
        int i = 0;
        while (rs.next()) 
            InputStream in = rs.getBinaryStream(1);
            OutputStream f = new FileOutputStream(new File("test"+i+".jpg"));
            i++;
            int c = 0;
            while ((c = in.read()) > -1) 
                f.write(c);
            
            f.close();
            in.close();
        
    catch(Exception ex)
        System.out.println(ex.getMessage());
    

  

这里只需将 fin 分配给 jbutton 动作事件,它将自动触发代码的运行

【讨论】:

谢谢粉碎。我会试试这个。

以上是关于求助!!如何在java代码中,将日期插入mysql数据库(对应字段类型是datetime),用JDBC连接数据库。的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中将日期插入 MySQL 数据库表?

mysql 日期和时间问题 求助

JAVA里面如何将字符串日期插入到MYSQL数据库

java怎么使用日期格式化将时间插入mysql datetime数据类型中?

如何使用php将日期插入mysql查询? [复制]

JDBC:将日期值插入 MySQL