2012-02-04 3 views
2

Я пытаюсь вставить файл из приложения java в таблицу mysql.Вставка Mybatis не удалась

Обращение к картографу завершается без каких-либо исключений, но в конце я не вижу записей внутри таблицы.

Возможно, что-то не так с тем, как я сопоставляю содержимое файла в поле blob?

Это боб:

public class CustomFile { 
private int id; 
private String title; 
private String fileName; 
private String fileType; 
private String fileSize; 
private byte[] fileContent; 
private String fileExtension; 

public int getId() { 
    return id; 
} 

public void setId(int id) { 
    this.id = id; 
} 

public String getTitle() { 
    return title; 
} 

public void setTitle(String title) { 
    this.title = title; 
} 

public String getFileName() { 
    return fileName; 
} 

public void setFileName(String fileName) { 
    this.fileName = fileName; 
} 

public String getFileType() { 
    return fileType; 
} 

public void setFileType(String fileType) { 
    this.fileType = fileType; 
} 

public String getFileSize() { 
    return fileSize; 
} 

public void setFileSize(String fileSize) { 
    this.fileSize = fileSize; 
} 

public byte[] getFileContent() { 
    return fileContent; 
} 

public void setFileContent(byte[] fileContent) { 
    this.fileContent = fileContent; 
} 

public String getFileExtension() { 
    return fileExtension; 
} 

public void setFileExtension(String fileExtension) { 
    this.fileExtension = fileExtension; 
} 

} 

И это отображение:

<insert id="saveFile" parameterType="CustomFile"> 

    INSERT INTO file SET 
    Title = #{title}, 
    File_Name = #{fileName}, 
    File_Type = #{fileType}, 
    File_Size = #{fileSize}, 
    File_Content = #{fileContent,jdbcType=BLOB}, 
    File_Extension = #{fileExtension} 

</insert> 

это журнал log4j:

2012-02-04 20:14:20,656 DEBUG java.sql.Connection.debug:27 - ooo Connection Opened 
2012-02-04 20:14:22,128 DEBUG java.sql.PreparedStatement.debug:27 - ==> Executing: INSERT INTO file SET Title = ?, File_Name = ?, File_Type = ?, File_Size = ?, File_Content = ?, File_Extension = ? 
2012-02-04 20:14:22,135 DEBUG java.sql.PreparedStatement.debug:27 - ==> Parameters: Test(String), 294435318.jpg(String), image/jpeg(String), 10028(String), [email protected](ByteArrayInputStream), image/jpeg(String) 
2012-02-04 20:14:30,113 DEBUG java.sql.Connection.debug:27 - xxx Connection Closed 

Спасибо!

+1

Я не понимаю, почему вы не используете файл типа? Я не могу говорить для остальной части приложения, но при использовании перехватчика загрузки struts2 вы делали это следующим образом: struts.apache.org/2.0.14/docs/file-upload.html, если это так, вы должны иметь возможность выгрузите часть содержимого файла, в журнал и убедитесь, что сторона struts2 хороша и отбросила его из вопроса. – Quaternion

ответ

6

Возможно, у вас нет commit вашей вставки? Можем ли мы увидеть код, в котором вы создаете SqlSession?

+0

Вот и все, я был более сосредоточен на возможной проблеме с содержимым файла, и я не считал, что не совершаю транзакции. Благодаря! – Roberto