- 浏览: 1365916 次
- 性别:
- 来自: 江西
文章分类
- 全部博客 (287)
- oracle (30)
- Java (73)
- MySQL (16)
- Myeclipse/eclipse (12)
- javascript (15)
- JSP/Servlet (7)
- maven (14)
- AJAX (2)
- JQuery (9)
- tomcat (8)
- spring (21)
- Linux (28)
- PHP (9)
- UI (1)
- 编程错误及处理 (38)
- 多线程 (18)
- hibernate (10)
- Web Service (3)
- struts2 (6)
- log4j (3)
- SVN (4)
- DWR (1)
- lucene (1)
- 正则表达式 (4)
- jstl (2)
- SSL (3)
- POI (1)
- 网络编程 (1)
- 算法 (2)
- xml (4)
- 加密解密 (1)
- IO (7)
- jetty (2)
- 存储过程 (1)
- SQL Server (1)
- MongoDB (1)
- mybatis (1)
- ETL (1)
- Zookeeper (1)
- Hadoop (5)
- Redis (1)
- spring cloud (1)
最新评论
-
ron.luo:
牛逼,正解!
maven设定项目编码 -
lichaoqun:
java.sql.SQLException: Can't call commit when autocommit=true -
Xujian0000abcd:
Thanks...
Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the clas -
renyuan2ni:
[i][b][u]引用[list]
[*][img][flas ...
Manual close is not allowed over a Spring managed SqlSession -
851228082:
宋建勇 写道851228082 写道<!-- 文件拷贝时 ...
maven设定项目编码
package cn.com.songjy.test.db; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class MySQLText { private static final Log log = LogFactory.getLog(MySQLText.class); private static final String id = "2"; private static final BufferedInputStream bufferedInputStream = new BufferedInputStream( MySQLText.class.getClassLoader().getResourceAsStream( "cn/com/songjy/test/db/mysql.properties")); private static final Properties props = new Properties(); static { try { props.load(bufferedInputStream); Class.forName(props.getProperty("driver")); } catch (IOException e) { log.error(e.getMessage(), e); } catch (ClassNotFoundException e) { log.error(e.getMessage(), e); } finally { try { if (null != bufferedInputStream) bufferedInputStream.close(); } catch (IOException e) { log.error(e.getMessage(), e); } } } public Connection getConnection() throws SQLException { log.info(props.getProperty("url")); return DriverManager.getConnection(props.getProperty("url"), props.getProperty("user"), props.getProperty("password")); } // 使用JDBC保存大文本 public void save_text() throws SQLException, IOException { Connection connection = null; PreparedStatement preparedStatement = null; BufferedReader bufferedReader = null; try { connection = getConnection(); preparedStatement = connection .prepareStatement("INSERT INTO testclob(id,resume) VALUES(?,?)"); preparedStatement.setString(1, id); File txt = new File( "src/main/java/cn/com/songjy/test/db/MySQLText.java"); bufferedReader = new BufferedReader(new FileReader(txt)); // preparedStatement.setCharacterStream(2, reader, txt.length()); preparedStatement.setCharacterStream(2, bufferedReader); log.info(preparedStatement.executeUpdate() > 0 ? "保存文本成功" : "保存文本失败"); } finally { if (null != bufferedReader) bufferedReader.close(); if (null != preparedStatement) preparedStatement.close(); if (null != connection) connection.close(); } } // 使用JDBC查询大文本 public void query_text() throws SQLException, IOException { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { connection = getConnection(); preparedStatement = connection .prepareStatement("SELECT id,resume FROM testclob WHERE id = ?"); preparedStatement.setString(1, id); resultSet = preparedStatement.executeQuery(); while (true == resultSet.next()) { BufferedReader bufferedReader = null; BufferedWriter bufferedWriter = null; try { bufferedReader = new BufferedReader( resultSet.getCharacterStream("resume")); bufferedWriter = new BufferedWriter( new FileWriter( "src/main/java/cn/com/songjy/test/db/MySQLText.txt")); char[] buffer = new char[512];// 每次读取512个字符 for (int len = 0; (len = bufferedReader.read(buffer)) > 0;) { bufferedWriter.write(buffer, 0, len); } } finally { if (null != bufferedWriter) bufferedWriter.close(); if (null != bufferedReader) bufferedReader.close(); } } } finally { if (null != resultSet) resultSet.close(); if (null != preparedStatement) preparedStatement.close(); if (null != connection) connection.close(); } } // JDBC保存二进制数据 public void save_binary_stream() throws SQLException, IOException { Connection connection = null; PreparedStatement preparedStatement = null; BufferedInputStream bufferedInputStream = null; try { File jpg = new File( "src/main/java/cn/com/songjy/test/db/Jellyfish.jpg"); bufferedInputStream = new BufferedInputStream(new FileInputStream( jpg)); connection = getConnection(); preparedStatement = connection .prepareStatement("INSERT INTO testblob(id, image) VALUES (?,?)"); preparedStatement.setString(1, id); // preparedStatement.setBinaryStream(2, inputStream, jpg.length()); preparedStatement.setBinaryStream(2, bufferedInputStream); log.info(preparedStatement.executeUpdate() > 0 ? "图片保存成功" : "图片保存失败"); } finally { if (null != bufferedInputStream) bufferedInputStream.close();// 记得关闭,否则可能导致该文件占用而影响其它操纵(删除等),可参阅//http://www.coder.xxx/archives/32.html if (null != preparedStatement) preparedStatement.close(); if (null != connection) connection.close(); } } // JDBC查询二进制数据 public void query_binary_stream() throws SQLException, IOException { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { connection = getConnection(); preparedStatement = connection .prepareStatement("SELECT id, image FROM testblob WHERE id = ?"); preparedStatement.setString(1, id); resultSet = preparedStatement.executeQuery(); while (true == resultSet.next()) { BufferedOutputStream bufferedOutputStream = null; BufferedInputStream bufferedInputStream = null; try { bufferedInputStream = new BufferedInputStream( resultSet.getBinaryStream("image")); bufferedOutputStream = new BufferedOutputStream( new FileOutputStream( "src/main/java/cn/com/songjy/test/db/1.jpg")); byte[] buffer = new byte[1024];// 每次读取1k for (int len = 0; (len = bufferedInputStream.read(buffer)) > 0;) { bufferedOutputStream.write(buffer, 0, len); // bufferedOutputStream.flush();//关闭的时候会自动将缓存中的数据写入文件 } } finally { if (null != bufferedOutputStream) bufferedOutputStream.close(); if (null != bufferedInputStream) bufferedInputStream.close(); } } } finally { if (null != resultSet) resultSet.close(); if (null != preparedStatement) preparedStatement.close(); if (null != connection) connection.close(); } } public static void main(String[] args) throws SQLException, IOException { // new MySQLText().save_text(); // new MySQLText().query_text(); // new MySQLText().save_binary_stream(); new MySQLText().query_binary_stream(); } } /* * * create table testclob * * ( * * id varchar(40) primary key, * * resume text * * ); * * create table testblob * * ( * * id varchar(40) primary key, * * image MediumBlob * * ); */
备注:保存二进制文件时注意选择类型,详见mysql blob大小配置介绍
oracle存取二进制文件(图片)
JDBC 学习笔记(二)—— 大数据+存储过程+批处理+事务管理
可能会遇到的问题:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
Java读文件的一些归纳总结
InputStream未关闭导致文件被占用从而引发的问题
BufferedInputStream与BufferedOutputStream的使用
public void resource() throws IOException { Resource resource = new UrlResource( "http://127.0.0.1:8008/monitor/file/navicat8_mysql_cs.exe"); System.out.println(resource.getFilename()); File f = new File(resource.getFilename()); System.out.println(f.length()); InputStream src_in = resource.getInputStream(); BufferedInputStream in = new BufferedInputStream(src_in); byte[] temp = new byte[1024]; BufferedOutputStream out = new BufferedOutputStream( new FileOutputStream(f)); while (-1 != (in.read(temp))) { out.write(temp); } out.flush(); out.close(); in.close(); src_in.close(); System.out.println(f.length()); }
发表评论
-
MYSQL server has gone away
2016-07-08 20:08 596在使用命令source导入SQL数据时报错如下: 造成此问 ... -
MySQL非标准SQL写法问题记录
2016-04-06 10:30 1374如下SQL: SELECT t.message_id, ... -
1071 - Specified key was too long; max key length is 767 bytes
2015-08-04 09:42 3299MySQL数据批量导入完毕后执行执行如下SQL(创建索引): ... -
1064 - You have an error in your SQL syntax; check the manual that corresponds
2015-08-03 16:53 5026错误信息: mysql> DROP INDEX idx ... -
Linux中安装MySQL
2014-03-19 18:11 3420参阅mysql在linux下安装 一、下载MySQL 二、 ... -
servlet使用commons-fileupload上传文件示例
2014-01-03 14:32 847private static final Log log = ... -
Java调用ping命令
2013-11-26 10:26 3633package cn.com.songjy; impor ... -
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
2013-10-21 16:51 7157使用MySQL保存图片时出现如下错误信息: Exceptio ... -
Iterate over rows and cells(EXCEL文件的读取)
2013-09-13 14:13 4057package cn.com.songjy.test.exce ... -
利用Servlet使用数据流在jsp页面中显示硬盘中的图片
2012-12-21 09:57 4109ShowImageFromDiskServlet.java代码 ... -
MySQL存储过程详解
2012-08-21 11:51 954http://blog.sina.com.cn/s/blog_ ... -
MySQL having介绍
2012-05-30 18:28 983在介绍GROUP BY 和 HAVING 子句前,我们必需先讲 ... -
MySQL 数据库怎样把一个表的数据插入到另一个表
2012-05-30 17:19 1844web开发中,我们经常需要将一个表的数据插入到另外一个表,有时 ... -
mysql正则表达式及应用
2012-05-10 17:40 3337mysql where子句的模式匹配 今天在应用中遇到了这样 ... -
mysql的group_concat方法和正则(REGEXP)的结合使用
2012-05-10 17:29 3148select (select group_concat(a.n ... -
Mysql合并查询结果
2012-05-10 14:14 2450本文通过实例介绍了MySQL中的group_concat函数的 ... -
字段中包含空格的查询疑问
2012-04-14 21:40 8mysql> select ab.uid ,ab.nam ... -
查询某个库中的某个表的结构
2012-02-21 14:32 809SELECT column_name, column_defa ... -
oracle存取二进制文件(图片)
2010-11-16 16:27 9214package cn.com.songjy.test.db; ... -
java下载网络图片
2010-11-16 14:24 2824package cn.com.songjy.test.db; ...
相关推荐
1. ExcelVBA操作MySQL之一——准备工作 2. ExcelVBA操作MySQL之二——链接MySQL ...14. ExcelVBA操作MySQL之十四——AppendChunk、 GetChunk存取文本和图片二进制数据 15. ExcelVBA操作MySQL之十五——使用ADODB.Stream
4.14 TcX 二进制代码 4.15 安装后期(post-installation)的设置与测试 4.15.1 运行mysql_install_db 的问题 4.15.2 启动 MySQL 服务器的问题 4.15.3 自动启动和停止 MySQL 4.15.4 选项文件 ...
12 MySQL 实用程序 12.1 各种 MySQL 程序概述 12.2 管理一个 MySQL 服务器 12.3 从 MySQL 数据库和表中倒出(dump)结构和数据 12.4 从文本文件导入数据 12.5 MySQL 压缩只读表生成器 ...
o 4.6 安装MySQL二进制代码分发 + 4.6.1 Linux RPM注意事项 + 4.6.2 构造客户程序 + 4.6.3 系统特定的问题 # 4.6.3.1 Linux 注意事项 # 4.6.3.2 HP-UX 注意事项 o 4.7 安装 MySQL源代码分发 + 4.7.1 快速...
│ │ 9.5.1 二进制文件存取示例(VB&VBA).vbs │ │ a.txt │ │ Schema.ini │ │ │ └─其他 │ bcp-数据导入导出(全).sql │ bcp-数据导入导出-二进制文件.sql │ bcp-数据导出为文件.sql │ bcp表数据存为XML....
get server.exec:server.exe 登陆后,将“IP”的server.exe下载到目标主机c:server.exe 参数:-i指以二进制模式传送,如传送exe文件时用,如不加-i 则以ASCII模式(传送文本文件模式)进行传送 tftp -i 对方IP put...
1.11 检查一个字符串是文本还是二进制 23 1.12 控制大小写 25 1.13 访问子字符串 26 1.14 改变多行文本字符串的缩进 29 1.15 扩展和压缩制表符 31 1.16 替换字符串中的子串 33 1.17 替换字符串中的子串-Python...
Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux...
实例223 以二进制形式上传文件到数据库 285 实例224 上传文件到服务器 287 实例225 限制上传文件的大小 288 实例226 限制上传文件的类型 291 实例227 上传多个文件到服务器 292 4.2 文件下载 294 实例228 通过链接...
实例223 以二进制形式上传文件到数据库 285 实例224 上传文件到服务器 287 实例225 限制上传文件的大小 288 实例226 限制上传文件的类型 291 实例227 上传多个文件到服务器 292 4.2 文件下载 294 实例228 通过链接...
介绍就不多说了,下边是部分目录,觉得有用的话就顶一个 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整...
二.安装Linux的好处?.........................................................................................................3 三.如何得到Linux?.......................................................
你可以利用PHP连接包括Oracle,MS-Access,Mysql在内的大部分数据库。你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以选择你的PHP安装版本需要哪些功能。引用...