DB Blob

Boas Rapaziada

esta não é a melhor maneira para gravar imagens na DB pois naO?
ela gravar grava mas se a imagem for maiorzinha estoira.

    private FileInputStream fis;
    public void InserirDados(File foto, String texto){
        Conectar();
        try{
            ps = con.prepareStatement("insert into foto (foto, texto) value ( ?, ?)");

            try {
                fis = new FileInputStream(foto);
            } catch (FileNotFoundException ex) {
                ex.printStackTrace();
            }

            ps.setBinaryStream(1, fis, (int) foto.length() );
            ps.setString(2, texto);
            ps.executeUpdate();

        }catch(SQLException ex){
            ex.printStackTrace();
        } finally{
            Desconectar();
        }
    }

Como poderei fazer?

Grato

DataInputStream is = null; try { File ImagemArquivo = Escolha.getSelectedFile(); String Path = ImagemArquivo.getPath(); File arq = Escolha.getSelectedFile(); File f = new File(arq.toString()); String path = arq.toString(); imagem = new byte[(int) f.length()]; is = new DataInputStream(new FileInputStream(path)); is.readFully(imagem); is.close(); Image Img = Toolkit.getDefaultToolkit().getImage(Path); LabelImagem.setIcon(new ImageIcon(Img.getScaledInstance(418, 241, WIDTH))); } catch (Exception ex) { Logger.getLogger(CadastroItemPedido.class.getName()).log(Level.SEVERE, null, ex); } finally { try { is.close(); } catch (IOException ex) { Logger.getLogger(CadastroItemPedido.class.getName()).log(Level.SEVERE, null, ex); } }