[学习笔记]二进制数据的处理(1) 普通二进制数据处理 A -------保存到数据库
来源:互联网 发布:js集合添加元素 编辑:程序博客网 时间:2024/05/18 12:30
在数据库编程中经常需要将一些二进制数据保存到数据库中,这些二进制数据包括Word文件,PDF文件,*java 等
在这里先来学习保存文本格式的.java 等文件的保存
//DBUtil.java 连接数据库的类
package cn.java;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
/** *//**
*
* @author Administrator
*/
public class DBUtil ...{
//最常与数据库操作;
//我们写一个方法几个方法;
//封装;
//注册
static ...{
try ...{
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) ...{
e.printStackTrace();
}
}
public static Connection getConnection() ...{
Connection conn = null;
try ...{
String url = "jdbc:mysql://localhost/test";
String dbName = "root";
String dbPwd = "root";
conn = DriverManager.getConnection(url, dbName, dbPwd);
} catch (SQLException ex) ...{
Logger.getLogger(DBUtil.class.getName()).log(Level.SEVERE, null, ex);
}
return conn;
}
public static Statement getStatement(Connection conn) ...{
Statement stmt = null;
try ...{
stmt = conn.createStatement();
} catch (SQLException ex) ...{
Logger.getLogger(DBUtil.class.getName()).log(Level.SEVERE, null, ex);
}
return stmt;
}
public static ResultSet executeQuery(Statement stmt, String sql) ...{
ResultSet rs = null;
try ...{
rs = stmt.executeQuery(sql);
} catch (SQLException ex) ...{
Logger.getLogger(DBUtil.class.getName()).log(Level.SEVERE, null, ex);
}
return rs;
}
public static void close(ResultSet rs, Statement stmt, Connection conn) ...{
try ...{
if (rs != null) ...{
rs.close();
rs = null;
}
if (stmt != null) ...{
stmt.close();
stmt = null;
}
if (conn != null) ...{
conn.close();
conn = null;
}
} catch (SQLException ex) ...{
Logger.getLogger(DBUtil.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
package cn.java;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
/** *//**
*
* @author Administrator
*/
public class DBUtil ...{
//最常与数据库操作;
//我们写一个方法几个方法;
//封装;
//注册
static ...{
try ...{
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) ...{
e.printStackTrace();
}
}
public static Connection getConnection() ...{
Connection conn = null;
try ...{
String url = "jdbc:mysql://localhost/test";
String dbName = "root";
String dbPwd = "root";
conn = DriverManager.getConnection(url, dbName, dbPwd);
} catch (SQLException ex) ...{
Logger.getLogger(DBUtil.class.getName()).log(Level.SEVERE, null, ex);
}
return conn;
}
public static Statement getStatement(Connection conn) ...{
Statement stmt = null;
try ...{
stmt = conn.createStatement();
} catch (SQLException ex) ...{
Logger.getLogger(DBUtil.class.getName()).log(Level.SEVERE, null, ex);
}
return stmt;
}
public static ResultSet executeQuery(Statement stmt, String sql) ...{
ResultSet rs = null;
try ...{
rs = stmt.executeQuery(sql);
} catch (SQLException ex) ...{
Logger.getLogger(DBUtil.class.getName()).log(Level.SEVERE, null, ex);
}
return rs;
}
public static void close(ResultSet rs, Statement stmt, Connection conn) ...{
try ...{
if (rs != null) ...{
rs.close();
rs = null;
}
if (stmt != null) ...{
stmt.close();
stmt = null;
}
if (conn != null) ...{
conn.close();
conn = null;
}
} catch (SQLException ex) ...{
Logger.getLogger(DBUtil.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
//将二进制写入数据库 mysql
package cn.java;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/** *//**
*
* @author he
*/
public class SaveER ...{
public void save(String file)...{
...{
FileInputStream fis = null;
Connection conn = null;
PreparedStatement pstmt = null;
try ...{
String sql = "insert into bindata values(7,?)";
conn = DBUtil.getConnection();
pstmt = conn.prepareStatement(sql);
fis = new FileInputStream(file);
pstmt.setBinaryStream(1,fis,fis.available());
pstmt.execute();
System.out.println("保存成功!");
} catch (IOException ex) ...{
Logger.getLogger(SaveER.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) ...{
Logger.getLogger(SaveER.class.getName()).log(Level.SEVERE, null, ex);
}
finally ...{
try ...{
fis.close();
DBUtil.close(null, pstmt, conn);
} catch (IOException ex) ...{
Logger.getLogger(SaveER.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
public static void main(String args[])...{
SaveER er=new SaveER();
er.save("D:/Test.java");
}
}
package cn.java;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/** *//**
*
* @author he
*/
public class SaveER ...{
public void save(String file)...{
...{
FileInputStream fis = null;
Connection conn = null;
PreparedStatement pstmt = null;
try ...{
String sql = "insert into bindata values(7,?)";
conn = DBUtil.getConnection();
pstmt = conn.prepareStatement(sql);
fis = new FileInputStream(file);
pstmt.setBinaryStream(1,fis,fis.available());
pstmt.execute();
System.out.println("保存成功!");
} catch (IOException ex) ...{
Logger.getLogger(SaveER.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) ...{
Logger.getLogger(SaveER.class.getName()).log(Level.SEVERE, null, ex);
}
finally ...{
try ...{
fis.close();
DBUtil.close(null, pstmt, conn);
} catch (IOException ex) ...{
Logger.getLogger(SaveER.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
public static void main(String args[])...{
SaveER er=new SaveER();
er.save("D:/Test.java");
}
}
- [学习笔记]二进制数据的处理(1) 普通二进制数据处理 A -------保存到数据库
- [学习笔记]二进制数据的处理(1) 普通二进制数据处理 B -------读取数据库中二进制数据
- 保存二进制数据到XML
- 图片以二进制的格式保存到数据库
- js,二进制转换保存到数据库及读取二进制图片
- FileUpload实现将图片(以二进制)保存到数据库
- 保存二进制 文件到数据库c#
- SharedObject对象保存二进制数据到本地
- Python保存二进制数据到sqlite3
- MVC 保存二进制到数据库,并显示文件的方法(图片显示或下载文件)
- c# 将图片的二进制数据插入到数据库中
- Flex上传图片,将图片保存以二进制流的方式保存到数据库。
- 插入和显示数据库中的图片(处理二进制数据)
- PB 如果把PDF 转换成二进制数据保存到数据库,并读取显示
- 数据库中使用Blob处理二进制数据
- java 存贮二进制数据到sqlserver数据库
- 上传二进制数据到oracle数据库
- 图片以二进制保存到数据库并读出到硬盘
- 关于MSSQL占用过多内存的问题
- 初步学习ASP
- 用JAVASCIRPT写的一个动态显示日期的函数!
- SQL蠕虫防火墙当前无法遏止的病毒
- JavaScript窗口功能指南之操纵窗口
- [学习笔记]二进制数据的处理(1) 普通二进制数据处理 A -------保存到数据库
- 第一次安装水晶头
- vs2005c++下使用部分activex控件概述及问题1
- 在VB或VBA中,如何调用API复制文本到剪贴板
- 一点感触
- SQL Server 管理常用的SQL和T-SQL
- PHP+Javascript液晶时钟
- [学习笔记]二进制数据的处理(1) 普通二进制数据处理 B -------读取数据库中二进制数据
- SQL Server 2000桌面引擎默认配置空口令漏洞