Olá pessoal,
Estou seguindo o artigo da devmedia: http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=3572
o artigo acima me atende em partes pois ele utiliza utiliza jdbc para gravar no bd, ao contrário do artigo devo gravar no banco MySql utilizando hibernate.
- As minhas duvidas são como devo declarar no meu bean a propriedade que será persistida no bd (OBS: quero dizer a imagem )
- Como devo setar a propriedade do bean
Trecho de código:
Na View
<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1” pageEncoding=“ISO-8859-1”%>
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
Cadastro de Usuário
${mensagem}
No Bean Usuario
package br.com.animelist.model.bean;
import java.io.Serializable;
import java.sql.Date;
import javax.persistence.*;
@Entity( name=“Usuario” )
public class Usuario implements Serializable {
private byte[] avatarUsuario = null;
/**
Retirei toda parte que esta funcionando do código
**/
// 1) Devo declarar avatarUsuario como Blob ou array de byte ?
// devo fazer alguma validação adicional no setAvatarUsuario() ?
[b]private byte[] avatarUsuario = null;
[/b]
public byte[] getAvatarUsuario() {
return fotoUsuario;
}
public void setAvatarUsuario(byte[] fotoUsuario) {
if (fotoUsuario != null) {
this.fotoUsuario = fotoUsuario;
}
}
}
No Comando que executa a ação de cadastrar um usuário invoco este método para preencher o avatUsuario do Usuario
public void image(HttpServletRequest request , Usuario usuario) {
boolean isMultiPart = FileUpload.isMultipartContent(request);
if (isMultiPart) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
String formulario = "";
try {
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.getFieldName().equals("foto")) {
formulario = item.getString();
}
if (!item.isFormField()) {
if (item.getName().length() > 0) {
[b]// 2) como devo setar a propriedade do bean que representa minha entidade no BD mysql
String caminhoAvatar = request.getParameter("avatar");
usuario.setAvatarUsuario( .... );[/b]
}
}
}
} catch (FileUploadException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Na tabela Usuario, avatarUsuario tipo Blob
Agradeço a todos que puderem me ajudar.