0

如您所见,im 在执行 java 文件的当前路径中。

如您所见,我在执行java文件的当前路径中。当我编译程序时,我成功获得了一个类文件。但是当我运行它时,我无法执行该程序,因为我在图像中收到错误消息,告诉我该路径中没有这样的类可用..

C:\Users\admin>javac insertImg.java

C:\Users\admin>java insertImg
Exception in thread "main" java.lang.NoClassDefFoundError: insertImg
Caused by: java.lang.ClassNotFoundException: insertImg
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: insertImg.  Program will exit.

C:\Users\admin>

这是我将图像插入数据库的java代码.....

插入Img.java:

import java.sql.*;
import java.io.*;

public class insertImg{
    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 = "hibernatetutorial";
        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("images.jpg");
            FileInputStream fin = new FileInputStream(imgfile);

            PreparedStatement pre = con.prepareStatement("insert into Image values(?,?,?)");
            pre.setInt(1,5);
            pre.setString(2,"Durga");
            pre.setBinaryStream(3,fin,(int)imgfile.length());
            pre.executeUpdate();

            System.out.println("Inserting Successfully!");

            pre.close();
            con.close();  

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

4 回答 4

0

在此处输入图像描述

我尝试使用 Oracle 数据库必须添加 -classpath ojdbc.jar 并且它也可以从控制台工作,正如您在图像中看到的那样,我在数据库中加载的图像文件位于 D:\ 所以它不在上面截屏

希望这可以帮助

于 2012-11-29T11:43:31.110 回答
0

insertImg.java 是否有一个具有公共功能的类 insertImg(注意区分大小写)main

于 2012-11-29T10:06:59.257 回答
0

我看到你从 roseIndia 获得了代码,它对我有用,没有任何障碍。但是,无论您的展示如何,它仍然很奇怪..我的建议是使用像 eclipse 这样的 IDE

您可以随时尝试以下步骤

1)在你的Mysql数据库中创建一个表来适应上面的代码

CREATE TABLE IMAGE
(
 IMG_ID    INT,
 IMG_NAME  VARCHAR2(100),
 IMG       BLOB
)

2)在eclipse中新建一个java项目,新建一个类insertImg,把代码粘贴到那里。请确保您的图像文件路径与您的图像所在的位置相同并运行它。它工作正常

于 2012-11-29T10:26:43.317 回答
0

这是一个简单的类路径错误。环境变量允许 Java 知道在CLASSPATH哪里寻找类。

不幸的是,Java 不够智能,无法知道它需要在本地目录中查找类。要解决此问题,您只需执行以下语句之一,具体取决于您使用的是 Windows 还是 Linux/Unix:

对于 Windows:

set CLASSPATH=.;%CLASSPATH%

对于 Linux:

export CLASSPATH=.:$CLASSPATH
于 2014-10-24T22:17:07.373 回答