第十一章 用jdbc访问大段文本数据
2012-02-17 03:12
274 查看
1. text 数据库可以存放大段文本
2.快捷键 ctrl+1 重命名 相同命变量全部改变
3.Clob
SQL 类型
存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 SQL
对象包含一个指向 SQL
2.快捷键 ctrl+1 重命名 相同命变量全部改变
3.Clob
SQL 类型
CLOB在 JavaTM 编程语言中的映射关系。SQL
CLOB是内置类型,它将字符大对象 (Character Large Object)
存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 SQL
locator(CLOB)实现
Clob对象,这意味着
CLOB
对象包含一个指向 SQL
CLOB数据的逻辑指针而不是数据本身。
Clob对象在它被创建的事务处理期间有效。
package cn.itcast.jdbc; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.io.Writer; import java.sql.Clob; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ClobTest { /** * @param args * @throws IOException * @throws SQLException */ public static void main(String[] args) throws SQLException, IOException { // create(); read(); } static void read() throws SQLException, IOException { Connection conn = null; Statement st = null; ResultSet rs = null; try { // 2.建立连接 conn = JdbcUtils.getConnection(); // conn = JdbcUtilsSing.getInstance().getConnection(); // 3.创建语句 st = conn.createStatement(); // 4.执行语句 rs = st.executeQuery("select big_text from clob_test"); // 5.处理结果 while (rs.next()) { Clob clob = rs.getClob(1); Reader reader = clob.getCharacterStream(); // reader = rs.getCharacterStream(1); // String s = rs.getString(1); File file = new File("JdbUtils_bak.java"); Writer writer = new BufferedWriter(new FileWriter(file)); char[] buff = new char[1024]; for (int i = 0; (i = reader.read(buff)) > 0;) { writer.write(buff, 0, i); } writer.close(); reader.close(); } } finally { JdbcUtils.free(rs, st, conn); } } static void create() throws SQLException, IOException { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { // 2.建立连接 conn = JdbcUtils.getConnection(); // conn = JdbcUtilsSing.getInstance().getConnection(); // 3.创建语句 String sql = "insert into clob_test(big_text) values (?) "; ps = conn.prepareStatement(sql); File file = new File("src/cn/itcast/jdbc/JdbcUtils.java"); Reader reader = new BufferedReader(new FileReader(file)); ps.setCharacterStream(1, reader, (int) file.length()); // ps.setString(1, x); // 4.执行语句 int i = ps.executeUpdate(); reader.close(); System.out.println("i=" + i); } finally { JdbcUtils.free(rs, ps, conn); } } }
相关文章推荐
- jdbc访问大段文本数据
- 11_传智播客JDBC_用jdbc访问大段文本数据
- 用jdbc访问大段文本数据
- jdbc_数据类型与日期问题_访问大段文本数据_二进制类型的数据
- JDBC设计模式:数据访问对象和值对象
- 使用JDBC处理大数据和大文本
- 大数据,大文本的处理、JDBC啊!
- JDBC用ResultSet访问大量数据时会遇到的问题
- 使用 JSP 技术和 JDBC 技术访问基于 Web 的动态数据
- 在mysql数据库中遇到的数据访问异常:GenericJDBCException:数据包查询太大(1211 > 1024)
- JAVA通过JDBC访问SAS数据(通过IOM接口)
- JDBC演示向mysql中,存取大文本数据问题
- 用JDBC访问ORACLE数据库 关于commit 增快效率 大数据 等的整理
- JDBC学习之路-对大文本数据的操作
- JDBC保存和读取大文本数据类型
- JDBC处理大文本数据或二进制数据和批量处理
- 在Spring中基于JDBC进行数据访问时如何控制超时
- 使用JDBC处理MySQL大文本和大数据
- Java -- JDBC mysql读写大数据,文本 和 二进制文件
- JDBC保存和读取大文本数据类型