Este artículo describe el método de programación JDBC para almacenar archivos e imágenes a través de ejemplos. Compártelo con todos para tu referencia, los detalles son los siguientes:
/* Función implementada: use la base de datos para almacenar datos de texto, léalos y colóquelos en el proyecto actual para su análisis: no es muy difícil. La clave es dominar el flujo de archivos. No hay muchas operaciones en la base de datos. , pero hay más lectura y escritura del flujo de archivos Fecha: 20131003 Autor: Yan Dayangzi*/public class Ckb_test { public static void main(String[] args) throws SQLException, IOException { // TODO Lectura de código auxiliar de método generado automáticamente. (); } vacío estático create() lanza SQLException, IOException { Connection conn=null; PreparedStatement prest=null; ResultSet resultset=null; try { //2. Establecer una conexión conn=JdbcUtils.getConnection(); getInstance ().getConnection(); //3. Crear sentencia String sql="insertar en ckb_test(texto) valores(?)"; prest=conn.prepareStatement(sql); Archivo archivo=nuevo Archivo("src/cn/com/JDBC/JdbcUtils.java"); Lector lector=nuevo BufferedReader(nuevo FileReader(archivo )); prest.setCharacterStream(1, lector, (int)file.length()); Ejecutar declaración int. i=prest.executeUpdate(); lector.close(); System.out.println("i="+i); finalmente { JdbcUtils.free(resultset, prest, conn); SQLException, IOException { Conexión conn=null; Declaración st=null; //2. Establecer una conexión conn=JdbcUtils.getConnection(); //Modo de diseño de caso único conn=JdbcUtilsSingle.getInstance().getConnection(); //3. 4. Ejecute la declaración resultet=st.executeQuery("seleccione texto de ckb_test"); //5. Procesar los resultados while(resultset.next()) { Clob clob=resultset.getClob(1); Lector lector=clob.getCharacterStream(); //reader=resultset.getCharacterStream(1); Archivo ("JdbcUtils.java"); Escritor escritor = nuevo BufferedWriter (nuevo FileWriter (archivo)); char[1024]; for(int i=0;(i=reader.read(buff))>0;) { escritor.write(buff,0,i } escritor.close(); ; } } finalmente { JdbcUtils.free(resultset, st, conn); } }}/*Función implementada: use la base de datos para almacenar datos de imágenes, léalos y colóquelos en el proyecto actual para su análisis: No es muy difícil. La clave es dominar el flujo de bytes. No hay muchas operaciones en la base de datos, pero hay muchas lecturas y escrituras de flujos de archivos. Preste atención a cambiar la fecha del directorio de la imagen: 20131003. Dayangzi*/public class PictureBlob { public static void main(String[] args) lanza SQLException, IOException { read(); static void create() lanza SQLException, IOException { Connection conn=null; ResultSet resultset=null; try { //2. Establecer una conexión conn=JdbcUtils.getConnection(); // Modo de diseño Singleton conn=JdbcUtilsSingle.getInstance().getConnection(); //3. insertar en valores blob_test(big_bit)(?)"; prest=conn.prepareStatement(sql); Archivo archivo=nuevo File("C://Documentos y configuraciones//Administrador//Mis documentos//Mis imágenes//cxg.jpg"); InputStream in=new BufferedInputStream(new FileInputStream(archivo)); (int)file.length()); //4. Ejecutar declaración int i=prest.executeUpdate(); System.out.println("i="+i); } finalmente { JdbcUtils.free(resultset, prest, conn); } } static void read() lanza SQLException, IOException { Connection conn=null; ResultSet resultet=null; try { //2. Establecer una conexión conn=JdbcUtils.getConnection(); //Modo de diseño de caso único conn=JdbcUtilsSingle.getInstance().getConnection(); //3. Crear declaración st=conn.createStatement(); //4. ); //5. Procesar los resultados while(resultset.next()) { Blob blob=resultset.getBlob(1); InputStream in=blob.getBinaryStream(); //reader=resultset.getCharacterStream(1); Archivo file=new File("1.jpeg"); OutputStream out=new BufferedOutputStream(new FileOutputStream(archivo)); =nuevo byte[1024]; for(int i=0;(i=in.read(buff))>0;) { out.write(buff,0,i); } out.close(); in.close(); } } finalmente { JdbcUtils.free(resultset, st, conn);
Espero que este artículo sea útil para todos los que están en la programación Java.