jdbc读取数据库文本数据
来源:互联网 发布:健身书籍知乎 编辑:程序博客网 时间:2024/05/18 21:41
1.在mysq的mydatabasel数据库中创建一张表
use database;create table if not exists my_clob_test(id int primary key auto_increment,big_text text not null)charset utf8;
2. 工具类(jdbc连接过程代码)
(1)注册驱动
(2)建立连接
(3)释放资源
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import com.mysql.jdbc.Statement;public final class JdbcUtils {private static String url = "jdbc:mysql://localhost:3306/mydatabase";private static String user = "root";private static String password = "123";private JdbcUtils() {}/** * 注册驱动 */static {try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}}/** * 建立连接 * * @return */public static Connection getConnection() {Connection conn = null;try {conn = (Connection) DriverManager.getConnection(url, user, password);} catch (SQLException e) {e.printStackTrace();}return conn;}/** * 释放资源 * * @param rs * @param st * @param conn */public static void free(ResultSet rs, Statement st, Connection conn) {// 释放ResultSettry {if (rs != null)rs.close();} catch (SQLException e) {e.printStackTrace();} finally {// 释放Statementtry {if (st != null)st.close();} catch (SQLException e) {e.printStackTrace();} finally {// 释放Connectiontry {if (conn != null)conn.close();} catch (SQLException e) {e.printStackTrace();}}}}}
3.运行下面的函数create()向数据库中插入一条文本数据
/** * 写数据到表中 * @param name * @param birthday * @param money * @throws IOException */static void create() throws IOException {Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {// 2.建立连接conn = (Connection) JdbcUtils.getConnection();// 3.创建语句String sql = "insert into my_clob_test(big_text) values(?)";ps = (PreparedStatement) conn.prepareStatement(sql);//将该目录下的文件内容写到数据库的my_clob_test表中File file = new File("src/cn/itcast/jdbc/JdbcUtilsSing.java"); Reader reader = new BufferedReader(new FileReader(file));//将“?”代替成数据流ps.setCharacterStream(1,reader,file.length());// 4.执行语句int i = ps.executeUpdate();reader.close();System.out.println("i=" + i);} catch (SQLException e) {e.printStackTrace();} finally {JdbcUtils.free(rs, ps, conn); // 关闭资源}}
4.运行下面函数read()读取数据库中的文本数据,然后将内容写到当前目录的copy.java文件中
/** * 读取text数据 * @throws IOException */static void read() throws IOException {Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {// 2.建立连接conn = (Connection) JdbcUtils.getConnection();// 3.创建语句String sql = "select big_text from my_clob_test";ps = (PreparedStatement) conn.prepareStatement(sql);// 4.执行语句rs = ps.executeQuery();//5.处理结果while(rs.next()){//Clob clob = rs.getClob(1);//Reader reader = clob.getCharacterStream();//以上两句语句可以使用下面一句代码代替Reader reader = rs.getCharacterStream(1);//封装数据源File file = new File("copy.java");//创建写数据流Writer writer =new BufferedWriter(new FileWriter(file));//创建缓存区char[] buff = new char[1024];//读写数据方式1int len=0;while((len = reader.read(buff))>0){writer.write(buff,0,len);}//读写数据方式2//for(int i = 0;(i = reader.read(buff))>0;){//writer.write(buff,0,i);//}writer.close();reader.close();}} catch (SQLException e) {e.printStackTrace();} finally {JdbcUtils.free(rs, ps, conn); // 关闭资源}}
总结:以上几步实现了(1)建立java与mysql数据库的连接(2)将text数据写入数据库(3)读取数据库中的text数据
0 0
- jdbc读取数据库文本数据
- 读取文本.EFZ文件数据,存入数据库
- Java JDBC读取大文本类型数据(CLOB)
- JDBC之大段文本数据的保存与读取
- 使用JDBC写入blob数据到数据库以及读取数据
- JDBC读取数据库元数据,生成JAVA实体类
- JDBC读取数据库元数据,生成JAVA实体类
- JDBC读取数据库元数据,生成JAVA实体类
- JDBC读取数据库元数据,生成JAVA实体类
- 使用jUnit和JDBC来读取数据库中的数据
- 使用原生JDBC从数据库读取数据并且封装
- 通过JDBC向数据库中存储&读取Blob数据
- JDBC之读取数据库
- python读取文本数据写入到数据库及查询优化
- JDBC读取SciDB数据
- C++读取文本数据
- 读取文本数据
- C++文本数据读取
- Linux_安装配置tomcat
- Maven_Scope取值的含义
- 百度静态资源公共库
- Java布局管理器
- 五、jq前端-时间轴插件
- jdbc读取数据库文本数据
- rpm 命令使用
- Linux_MariaDB installation
- HDU
- MariaDB_installing,starting and stoping,configuring,logging in
- Android之px/dpi/dip/dp/density/DisplayMetrics和屏幕适配
- MariaDB_Basic SQL Debugging
- MariaDB_mysqladmin
- Thinking in Java 学习笔记1 数组