CSDN JAVA随笔 No.11

 

JDBC是我们使用JAVA程序操作数据库的工具.

JDBC由java.sql和javax.sql两个包组成, 在jdk5.0之后包含在JavaSE中, 不需要导入.

除了这两个包之外还需要导入数据库对应的驱动.

搭建环境

      在数据库中创建库、表、插入数据.

      建Java工程, 导入驱动

在程序中加载驱动

      DriverManager.registerDriver(driver)

建立连接

      Connection conn =DriverManager.getConnection(url, user, password)

创建Statement对象

      Statement st =conn.createStatement()

执行SQL语句, 获取ResultSet

      ResultSet rs =st.executeQuery(sql)

从Result中获取数据, 显示

      rs.next()

   rs.getObject(columnLabel)

释放资源

      rs.close()

   st.close()

   conn.close()

ResultSet executeQuery(String sql)

执行查询语句, 返回结果集

intexecuteUpdate(String sql)

执行插入, 修改, 删除语句, 返回影响行数

booleanexecute(String sql)

执行任意sql语句, 返回执行是否成功

voidaddBatch( String sql )

将sql语句添加到命令列表

int[]executeBatch()

运行命令列表, 返回每一个命令影响的行数

存储TEXT

PreparedStatement ps =conn.prepareStatement("insert into clob(file) values(?)");

File file = new File("src/cn/itcast/jdbc1/clob_blob/ClobDemo.java");

Reader reader = newFileReader(file);

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

ps.executeUpdate()

 

也可以使用ps.setString()直接设置, 但如果字符串太大, 有可能超出虚拟机内存

读取TEXT

PreparedStatement ps =conn.prepareStatement("select file from clob");

ResultSet rs = ps.executeQuery();

if(rs.next()) {

     Readerreader = rs.getCharacterStream(int columnIndex);

     }

BLOB用来存储大段的二进制数据, 例如图片, 音频, 视频. LONGBLOB最大4G

存储BLOB

PreparedStatement ps =conn.prepareStatement("insert into big_binary(file) values(?)");

File file = new File("src/cn/itcast/jdbc1/clob_blob/IMG_0007.jpg");

InputStream in = newFileInputStream(file);

ps.setBinaryStream(1, in, (int)file.length());

ps.executeUpdate();

读取BLOB

PreparedStatement ps =conn.prepareStatement("select file from big_binary");

ResultSet rs = ps.executeQuery();

if(rs.next()) {

   InputStreamin = rs.getBinaryStream(1);

 

 2011/9/13

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值