注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

IOS & JAVA KEY

(iMilo)

 
 
 

日志

 
 
关于我

All the splendor in the world is not worth a good friend!! Hello my friend!!

网易考拉推荐

JDBC入门实例{大字段处理<text>}  

2010-02-01 16:14:57|  分类: jdbc |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

①:前提:数据库:MYSQL5.0----DATABASE:jdbc----TABLE:tb_clob

②:创建数据库(jdbc): CREATE DATABASE jdbc;

③:创建表(tb_clob): CREATE TABLE tb_clob(

    id int(11) NOT NULL PRIMARY KEY auto_increment,

    big_text text

);

④:建立Java工程(工程名:JDBC)首先导入MYSQL驱动jar包:

编写一个BaseClob.java的类

代码如下

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * @author TEANA -- 2010-2-1
 * JDBC插入大字段(如文本)
 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
 */

public class BaseClob

{

    public static void main(String[] args)

    {

        //写入数据库

        writeToDB();

       //读出数据库

       readeFromDB();

    }

    //将文本文件写入数据库

    public static void writeToDB()

    {

        Connection conn = null;

        PrepareStatement ps = null;

        ResultSet rs = null;

        String sql = "INSERT INTO tb_clob(big_text) VALUES (?)";

        try

       {

             //获取连接

            conn = JDBCSingle.getInstance().getConnection();

            //处理SQL语句

           ps = conn.prepareStatement(sql);

           //读取文件开始

          File file = new File("src/JDBCUtil.java");

         //将file封装到FileReader中

          FileReader reader = new BufferedReader(New FileReader(file));

          // 处理SQL语句

         ps.setCharacterStream(1, reader, (int)file.length());

        //处理结果集

         int i = ps.executeUpdate();

        //关闭文件流

        reader.close();

         System.out.println("成功插入的记录条数:" + i);

      }

       catch (Exception e)

        {

              e.printStackTrace();

       }

       finally

        {//释放资源

            JDBCSIngle.getInstance().free(rs, ps, conn)

       }

    }

 

    //从数据库写入到文本

    public static void readeFromDB()

    {

        Connection conn  = null;

        Statement st = null;

         ResultSet rs = null;

         String sql = "SELECT * FROM tb_clob WHERE id = 1";

         try

         {

           //获取连接

           conn  = JDBCSingle.getInstance().

           //创建语句

            st = conn.createStatement();

           //处理语句

          rs = st.executeQuery(sql);

           while(rs.next())

           {//处理结果集

                File file = new File("JDBCUtil_bak.java");

               //创建一个Reader实例

              Reader reader = rs.getCharacterStream(2);

              //创建一个Writer实例,用BufferedWriter封装

              Writer writer = new BufferedWriter(new FileWriter(file));

              char[] buff = new char[1024];

              //将reader中的数据读取到writer中去

             for(int i = 0; (i = reader.reade(buff)) > 0;)

              {

                  writer.write(buff, 0, i);

               }

              //关闭writer/reader

             writer.close();

             reader.close();

            }

        }

         catch (Exeception e)

         {

               e.printStackTrace();

         }

         finally

         {//释放资源

              JDBCSingle.free(rs, st, conn);

          }

    }

}

 

注意:上面用到的JDBCSingle.java工具类请查看:JDBC入门实例{JDBC工具类单例实现}

假设在工程的src目录下有一个JDBCUtil.java文件,JDBCUtil_bak.java文件为从数据库中读取生成的文件

 

 

  评论这张
 
阅读(515)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017