易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
MySQL blob字段存储图片操作示例
表结构:
create
table
view
(id
int
unsigned
NOT
NULL
AUTO_INCREMENT, catid
int
,title
varchar
(256),picture MEDIUMBLOB, content TEXT,
PRIMARY
KEY
(id));
java类操作:
import
java.awt.Image;
import
java.io.*;
import
java.nio.ByteBuffer;
import
java.sql.PreparedStatement;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import
java.util.logging.Level;
import
java.util.logging.Logger;
import
javax.swing.ImageIcon;
import
org.bean.View;
/**
*
* @author weijian.zhongwj
*/
public
class
ViewPointDao {
public
static
View getView(Integer catId) {
View view =
new
View();
try
{
String sql2 =
"SELECT title, content, picture FROM view where catid=? limit 1"
;
PreparedStatement stmt2 = BaseDaoFactory.getInstance().prepareStatement(sql2);
stmt2.setInt(
1
, catId);
ResultSet resultSet = stmt2.executeQuery();
while
(resultSet.next()) {
String name = resultSet.getString(
1
);
String description = resultSet.getString(
2
);
ByteBuffer bb = ByteBuffer.allocate(
1024
*
1024
);
byte
[] buffer =
new
byte
[
1
];
InputStream is = resultSet.getBinaryStream(
3
);
while
(is !=
null
&& is.read(buffer) >
0
) {
bb.put(buffer);
}
ImageIcon icon =
new
ImageIcon(bb.array());
view.setImage(icon.getImage());
view.setTitle(name);
view.setContent(description);
return
view;
}
}
catch
(IOException ex) {
Logger.getLogger(ViewPointDao.
class
.getName()).log(Level.SEVERE,
null
, ex);
}
catch
(SQLException ex) {
Logger.getLogger(ViewPointDao.
class
.getName()).log(Level.SEVERE,
null
, ex);
}
return
null
;
}
public
static
boolean
addView(View view) {
FileInputStream fis =
null
;
try
{
if
(exit(view.getCatId())) {
return
update(view);
}
String sql =
"INSERT INTO view (title, content, catid, picture) VALUES (?, ?, ?, ?)"
;
PreparedStatement stmt = BaseDaoFactory.getInstance().prepareStatement(sql);
stmt.setString(
1
, view.getTitle());
stmt.setString(
2
, view.getContent());
stmt.setInt(
3
, view.getCatId());
if
(view.getImageFile() !=
null
) {
File image =
new
File(view.getImageFile());
fis =
new
FileInputStream(image);
//image.length(),返回文件的大小
stmt.setBinaryStream(
4
, fis, (
int
) image.length());
}
else
{
stmt.setBinaryStream(
4
,
null
,
0
);
}
int
count = stmt.executeUpdate();
if
(count >
0
) {
return
true
;
}
else
{
return
false
;
}
}
catch
(IOException ex) {
Logger.getLogger(ViewPointDao.
class
.getName()).log(Level.SEVERE,
null
, ex);
}
catch
(SQLException ex) {
Logger.getLogger(ViewPointDao.
class
.getName()).log(Level.SEVERE,
null
, ex);
}
finally
{
try
{
if
(fis !=
null
) {
fis.close();
}
}
catch
(IOException ex) {
}
}
return
false
;
}
public
static
boolean
update(View view) {
FileInputStream fis =
null
;
try
{
String sql =
"update view set title= ? ,content= ? "
+ (view.getImageFile() !=
null
? (
",picture= ? "
) :
" "
) +
"where catid= ? "
;
PreparedStatement stmt = BaseDaoFactory.getInstance().prepareStatement(sql);
stmt.setString(
1
, view.getTitle());
stmt.setString(
2
, view.getContent());
if
(view.getImageFile() !=
null
) {
stmt.setInt(
4
, view.getCatId());
File image =
new
File(view.getImageFile());
fis =
new
FileInputStream(image);
//image.length(),返回文件的大小
stmt.setBinaryStream(
3
, fis, (
int
) image.length());
}
else
{
stmt.setInt(
3
, view.getCatId());
}
int
count = stmt.executeUpdate();
if
(count >
0
) {
return
true
;
}
else
{
return
false
;
}
}
catch
(IOException ex) {
Logger.getLogger(ViewPointDao.
class
.getName()).log(Level.SEVERE,
null
, ex);
}
catch
(SQLException ex) {
Logger.getLogger(ViewPointDao.
class
.getName()).log(Level.SEVERE,
null
, ex);
}
finally
{
try
{
if
(fis !=
null
) {
fis.close();
}
}
catch
(IOException ex) {
}
}
return
false
;
}
public
static
boolean
exit(Integer catId) {
try
{
String sql2 =
"SELECT title, content, picture FROM view where catid=? limit 1"
;
PreparedStatement stmt2 = BaseDaoFactory.getInstance().prepareStatement(sql2);
stmt2.setInt(
1
, catId);
ResultSet resultSet = stmt2.executeQuery();
while
(resultSet.next()) {
return
true
;
}
}
catch
(SQLException ex) {
Logger.getLogger(ViewPointDao.
class
.getName()).log(Level.SEVERE,
null
, ex);
}
return
false
;
}
}
bean:
import
java.awt.Image;
public
class
View {
/**
* 景点标题
*/
private
String title;
/**
* 景点内容
*/
private
String content;
/**
* 景点图片
*/
private
Image image;
/**
* 景点图片上传路径
*/
private
String imageFile;
/**
* 分类id
*/
private
int
catId;
public
int
getCatId() {
return
catId;
}
public
void
setCatId(
int
catId) {
this
.catId = catId;
}
public
String getContent() {
return
content;
}
public
void
setContent(String content) {
this
.content = content;
}
public
Image getImage() {
return
image;
}
public
void
setImage(Image image) {
this
.image = image;
}
public
String getTitle() {
return
title;
}
public
void
setTitle(String title) {
this
.title = title;
}
public
String getImageFile() {
return
imageFile;
}
public
void
setImageFile(String imageFile) {
this
.imageFile = imageFile;
}
}
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图