博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java -- JDBC mysql读写大数据,文本 和 二进制文件
阅读量:4983 次
发布时间:2019-06-12

本文共 3026 字,大约阅读时间需要 10 分钟。

1. 往mysql中读写字符文本

public class Demo1 {	/* 创建数据库	 create database LOBTest;	 use LOBTest;	 create table testclob	 (	 	id int primary key auto_increment,	 	resume text	 );	  	 */	@Test	public void add() {		Connection conn = null;		PreparedStatement st = null;		ResultSet rs = null;		try		{			conn = JdbcUtils.getConnection();			String sql = "insert into testclob(resume) values(?)";			st = conn.prepareStatement(sql);			String path = Demo1.class.getClassLoader().getResource("db.properties").getPath();			File file = new File(path);			FileReader fr = new FileReader(file);			st.setCharacterStream(1, fr, file.length());			int num = st.executeUpdate();			if(num > 0)				System.out.println("插入成功!!");		}		catch (Exception e)		{			e.printStackTrace();		}		finally 		{			JdbcUtils.release(conn, st, rs);		}	}		@Test	public void read()	{		Connection conn = null;		PreparedStatement st = null;		ResultSet rs = null;		try		{			conn = JdbcUtils.getConnection();			String sql = "select resume from testclob where id = ?";						st = conn.prepareStatement(sql);			st.setInt(1, 2);			rs = st.executeQuery();			if(rs.next())			{				Reader reader = rs.getCharacterStream("resume");				FileWriter fw = new FileWriter("write.txt");				char[] buffer = new char[1024];				int len = 0;				while( (len=reader.read(buffer)) > 0)				{					fw.write(buffer, 0, len);				}				fw.close();				reader.close();							}					}		catch (Exception e)		{			e.printStackTrace();		}		finally 		{			JdbcUtils.release(conn, st, rs);		}			}}
2. 往mysql中读写二进制文件

public class Demo2 {		/*	 create table testblob	 (	 	id int primary key auto_increment,	 	image blob	 );	 */		@Test	public void add()	{		Connection conn = null;		PreparedStatement st = null;		ResultSet rs = null;		try		{			conn = JdbcUtils.getConnection();			String sql = "insert into testblob(image) values(?)";			st = conn.prepareStatement(sql);						String path = Demo1.class.getClassLoader().getResource("1.JPG").getPath();			File file = new File(path);			FileInputStream sf = new FileInputStream(file);			st.setBinaryStream(1, sf, file.length());			int num  = st.executeUpdate();			if(num > 0)				System.out.println("插入成功!!");			sf.close();						}		catch (Exception e)		{			e.printStackTrace();		}		finally 		{			JdbcUtils.release(conn, st, rs);		}	}		@Test	public void read()	{		Connection conn = null;		PreparedStatement st = null;		ResultSet rs = null;		try		{			conn = JdbcUtils.getConnection();			String sql = "select image from testblob where id = ?";						st = conn.prepareStatement(sql);			st.setInt(1, 1);			rs = st.executeQuery();			if(rs.next())			{				InputStream is = rs.getBinaryStream("image");				byte[] buffer = new byte[1024];				int len = 0;				FileOutputStream fos = new  FileOutputStream("1_back.JPG");				while( (len=is.read(buffer))>0 )				{					fos.write(buffer, 0, len);				}				fos.close();				is.close();			}									}		catch (Exception e)		{			e.printStackTrace();		}		finally 		{			JdbcUtils.release(conn, st, rs);		}	}	}

转载于:https://www.cnblogs.com/xj626852095/p/3648040.html

你可能感兴趣的文章
[算法]Evaluate Reverse Polish Notation
查看>>
go语言之进阶篇接口的定义和实现以及接口的继承
查看>>
SmartPhone手机网站的制作
查看>>
自适应全屏与居中算法
查看>>
构建之法阅读笔记(一)
查看>>
帮助你设计的50个自由和新鲜的图标集
查看>>
Glusterfs[转]
查看>>
javascript缩写
查看>>
GA来源分析
查看>>
常用统计指标
查看>>
iOS设置圆角矩形和阴影效果
查看>>
在博客园的第一篇文章,先简单自述一下吧
查看>>
深入了解 Dojo 的服务器推送技术
查看>>
hdu 4284 状态压缩
查看>>
逆向分析技术
查看>>
Latex
查看>>
SpringMVC处理JSON
查看>>
几何建模
查看>>
java crm 系统 进销存 springmvc SSM项目项目源码
查看>>
jQuery.extend 函数详解
查看>>