java存储Blob类型到数据库
java可以从数据库读取大文本自动,也可以存储Blob类型到数据库:
package com.mldn;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.io.File;
import java.io.InputStream;
import java.io.FileInputStream;
public class BlobDemo
{
/**
sql脚本:
create database BigOb;
use BigOb;
drop table Bigob;
create table Bigob(id int auto_increment primary key,name varchar(80),photo longblob);
*/
// 连接驱动路径
public static final String DRIVER = “com.mysql.jdbc.Driver”; // “org.gjt.mm.mysql.driver”
// 定义数据源URL:数据库地址
public static final String DBURL = “jdbc:mysql://localhost:3306/BigOb?characterEncoding=utf8”;
// 定义数据库登录的用户名:
public static final String USERNAME = “root”;
// 定义数据库登录的密码:
public static final String PASSWORD = “123456”;
public static void main(String[] args) throws Exception // 抛出所有异常
{
Connection conn = null; // 数据库连接
PreparedStatement pstmt = null; // 预处理语句
InputStream in = null; // 准备输入流,读取文磁盘文件
// 图片文件路径
String path = File.separator + “home” + File.separator + “ubuntu” + File.separator
+ “work” + File.separator+ “logo-edubuntu.jpg”;
File file = new File(path); // 打开文件
in = new FileInputStream(file); // 实例化输入流
// 预插入语句
String sql = “INSERT INTO Bigob(name, photo) VALUES(?, ?)”;
// 变量接口
String name = “logo-edubuntu.jpg”;
// 加载数据库驱动
Class.forName(DRIVER);
// 获取数据库连接
conn = DriverManager.getConnection(DBURL, USERNAME, PASSWORD);
// 预处理操作对象
pstmt = conn.prepareStatement(sql);
// 预处理设置
pstmt.setString(1, name);
pstmt.setBinaryStream(2, in, (int)file.length()); // 存储指定字节长度的二进制数据
// 执行插入
pstmt.executeUpdate();
// 关闭操作与连接
in.close();
pstmt.close();
conn.close();
}
}
/*
二进制数据格式的图片无法直接查询,可以保存!
*/
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《java存储Blob类型到数据库》
本文地址:http://www.xiupu.net/archives-158.html
关注公众号:
微信赞赏
支付宝赞赏