我正在尝试使用java代码插入图像,
我可以插入图像,但我的表格显示垃圾值
这是我的代码,
创建表的代码。
try {
Connection con = null;
Class.forName("com.mysql.jdbc.Driver");
con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306 /Hotel",
"root", "root");
try {
Statement st = con.createStatement();
String table = "CREATE TABLE ItemMenu(Image MEDIUMBLOB,
Item_Codevarchar(20),Item_Name varchar(20),
Item_Category varchar(20),Sub_Category varchar(20),
Item_Rate varchar(20),Item_Kitchen varchar(20),
Item_Division varchar(20),Item_Description varchar(20))";
st.executeUpdate(table);
} catch (SQLException s) {
System.out.println("Table all ready exists!");
}
con.close();
} catch (Exception e) {
e.printStackTrace();
}
用于将值插入表中的代码..
try {
File f = new File(path);
System.out.print(path);
Connection con = null;
Class.forName("com.mysql.jdbc.Driver");
con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/Hotel", "root", "root123");
//这是从文本字段中获取值并将其存储在字符串中的代码。
try {
FileInputStream fis = new FileInputStream(f);
System.out.println("hello how r u");
String itemcode = itemcodefield.getText();
String itemname = itemnamefield.getText();
String categoryboxname = (String) categorybox.getSelectedItem();
String subcategoryboxname = (String) subcategorybox.getSelectedItem();
String rate = ratefield.getText();
String kitchenboxname = (String) kitchenbox.getSelectedItem();
String divisionboxname = (String) divisionbox.getSelectedItem();
String description = descriptionfield.getText();
String insert = "INSERT INTO ItemMenu(Image,Item_Code,
Item_Name,Item_Category,Sub_Category,Item_Rate,Item_Kitchen,
Item_Division,Item_Description)"
+ "VALUES (?,?,?,?,?,?,?,?,?)";
System.out.println("am fyn");
//这里是 prepardstatemnt 的代码,它将值插入到 mysql 表中。
PreparedStatement preparedStmt = con.prepareStatement(insert);
preparedStmt.setBinaryStream(1, (InputStream) f(int)
(f.length()
));
preparedStmt.setString(2, itemcode);
preparedStmt.setString(3, itemname);
preparedStmt.setString(4, categoryboxname);
preparedStmt.setString(5, subcategoryboxname);
preparedStmt.setString(6, rate);
preparedStmt.setString(7, kitchenboxname);
preparedStmt.setString(8, divisionboxname);
preparedStmt.setString(9, description);
preparedStmt.execute();
} catch (SQLException s) {
}
con.close();
} (Exception e1){
e1.printStackTrace();
}
最佳答案
我不知道您的应用程序设计,但通常建议不要将图像插入
到数据库中,而是将图像保存到文件夹中,然后插入该文件夹的路径
数据库。
插入图像将是一个性能问题。插入路径也会减少数据库大小,并且访问其他资源会更快。
关于java代码在mysql数据库中插入图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13373313/