この記事では、例を通じてファイルと画像を保存する JDBC プログラミング方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。
/*実装された機能: データベースを使用してテキスト データを保存し、それを読み取って現在のプロジェクトに配置して分析します。重要なのは、ファイル フローをマスターすることです。データベースでの操作はそれほど多くありません。 、ただし、ファイル フローの読み取りと書き込みはさらに多くなります。 Date: 20131003 Author: Yan Dayangzi*/public class Ckb_test { public static void main(String[] args) throws SQLException, IOException { // TODO 自動生成されたメソッド スタブの読み取り。 (); } 静的ボイドcreate() throws SQLException, IOException { Connection conn=null; PreparedStatement prest=null; ResultSet resultset=null; //2. 接続を確立します conn=JdbcUtilsSingle. getInstance ().getConnection(); //3. ステートメント文字列を作成します sql="挿入ckb_test(text) 値(?)"; prest=conn.prepareStatement(sql); ファイル file=new File("src/cn/com/JDBC/JdbcUtils.java"); Reader Reader=new BufferedReader(new FileReader(file) )); prest.setCharacterStream(1, (int)file.length()); //4 ステートメントを実行します。 i=prest.executeUpdate(); system.out.println("i="+i); } 最後に { JdbcUtils.free(resultset, prest, conn) } } static void read() をスローします。 SQLException、IOException { 接続 conn=null; ResultSet 結果セット = null; //2. 接続を確立します conn=JdbcUtils.getConnection(); //単一ケース設計モード conn=JdbcUtilsSingle.getInstance().getConnection(); // ステートメントを作成します。 4. ステートメント resultset=st.executeQuery("select text from ckb_test"); を実行します。 //5. 結果を処理します while(resultset.next()) { Clob clob=resultset.getClob(1); //reader=resultset.getCharacterStream(1);ファイル ("JdbcUtils.java"); ライター Writer=new BufferedWriter(new FileWriter(file)); char[1024]; for(int i=0;(i=reader.read(buff))>0;) {writer.write(buff,0,i)} ; } }finally { JdbcUtils.free(resultset, st, conn); } }}/*関数の実装: データベースを使用して画像データを保存し、それを読み取って現在のプロジェクトに配置します。それほど難しいことではありません。データベースに対する操作はそれほど多くありませんが、ファイル ストリームの読み取りと書き込みが多くなります。写真の日付: 20131003 著者: Yan Dayangzi*/public class PictureBlob { public static void main(String[] args) throws SQLException, IOException { read(); } static void create() throws SQLException, IOException { Connection conn=null; ResultSet resultset=null; //2. 接続を確立します conn=JdbcUtils.getConnection(); // シングルトン設計モード conn=JdbcUtilsSingle.getInstance().getConnection(); //3. ステートメントを作成します。 blob_test(big_bit) に挿入 value(?)"; prest=conn.prepareStatement(sql); ファイル file=new File("C://Documents and Settings//Administrator//My Documents//My Pictures//cxg.jpg"); InputStream in=new BufferedInputStream(new FileInputStream(file)); (int)file.length()); //4. ステートメントを実行します。 int i=prest.executeUpdate(); System.out.println("i="+i); } 最後に { JdbcUtils.free(resultset, prest, conn) } } static void read() throws SQLException, IOException { 接続ステートメント st=null; ResultSet resultset=null; try { //2. 接続を確立します conn=JdbcUtils.getConnection(); //単一ケース設計モード conn=JdbcUtilsSingle.getInstance().getConnection(); //3. ステートメントを作成します st=conn.createStatement(); //4. ステートメントを実行します resultset=st.executeQuery("select big_bit from blob_test") ); //5. 結果を処理します while(resultset.next()) { Blob blob=resultset.getBlob(1); InputStream in=blob.getBinaryStream(); //reader=resultset.getCharacterStream(1); ファイル file=new File("1.jpeg"); =新しいバイト[1024]; for(int i=0;(i=in.read(buff))>0;) { out.write(buff,0,i); } out.close(); } } 最後に { JdbcUtils.free(resultset, st, conn) }
この記事が Java プログラミングの皆様のお役に立てれば幸いです。