Java大数据
2015-06-03 00:54
176 查看
大数据(像数据库中插入图片)
import java.sql.SQLException;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
public class TestPIC {
}
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.UUID;
import com.yc.dao.dbhelper;
public class PicBiz {
public void savePic(String picpath) throws SQLException {
String picid=UUID.randomUUID().toString();
dbhelper db= new dbhelper();
String sql=”insert into pic values(?,empty_blob())”;
}
import java.sql.SQLException;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
public class TestPIC {
[code]protected Shell shell; private Text text; /** * Launch the application. * @param args */ public static void main(String[] args) { try { TestPIC window = new TestPIC(); window.open(); } catch (Exception e) { e.printStackTrace(); } } /** * Open the window. */ public void open() { Display display = Display.getDefault(); createContents(); shell.open(); shell.layout(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } /** * Create contents of the window. */ protected void createContents() { shell = new Shell(); shell.setSize(450, 300); shell.setText("SWT Application"); Label label = new Label(shell, SWT.NONE); label.setBounds(20, 95, 61, 17); label.setText("头像"); text = new Text(shell, SWT.BORDER); text.setBounds(113, 95, 192, 23); Button button = new Button(shell, SWT.NONE); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { FileDialog dialog = new FileDialog(shell,SWT.OPEN); String basepath=System.getProperty("user.home");//设置 初始路径 dialog.setFilterPath(basepath); dialog.setFilterExtensions(new String[]{"*.jpg","*.jpeg","*.png"}); //它使用指定的扩展名集合进行过滤 String fileName = dialog.open(); if(fileName==null||"".equals(fileName)){ return; } text.setText(fileName); } }); button.setBounds(344, 91, 80, 27); button.setText("浏览"); Button button_1 = new Button(shell, SWT.NONE); button_1.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String picpath=text.getText().trim(); PicBiz pb=new PicBiz(); try { pb.savePic(picpath); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); button_1.setBounds(168, 156, 80, 27); button_1.setText("保存"); }
}
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.UUID;
import com.yc.dao.dbhelper;
public class PicBiz {
public void savePic(String picpath) throws SQLException {
String picid=UUID.randomUUID().toString();
dbhelper db= new dbhelper();
String sql=”insert into pic values(?,empty_blob())”;
[code] String sql2="select pic from pic where picid=? for update";//for update 锁定这一行数据 Connection con=null; try { con=db.getCon(); con.setAutoCommit(false);//关闭隐式提交 PreparedStatement pstmt=con.prepareStatement(sql);//创建语句对象 ,发给数据库执行 pstmt.setString(1, picid);//设置参数 pstmt.execute();//数据库执行语句 pstmt=con.prepareStatement(sql2); pstmt.setString(1, picid); pstmt.execute(); ResultSet rs=pstmt.executeQuery(); //得到数据库中语句执行的结果集 if(rs!=null&&rs.next()){ OutputStream oos=null;//像数据库表中输出图片 InputStream iis=null;//从本地读文件 oracle.sql.BLOB b= (oracle.sql.BLOB) rs.getBlob(1);//取出图片所在位置 iis=new BufferedInputStream(new FileInputStream(new File (picpath)));//通过输入流读取图片数据 oos=b.getBinaryOutputStream();//从结果集中取出输入流 用于向数据库写数据 byte[] bs=new byte[1024]; int length=-1; while(( length=iis.read(bs,0,bs.length))!=-1){ oos.write(bs,0,length); oos.flush(); } con.commit(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); con.rollback(); } finally{ con.setAutoCommit(true); } }
}
相关文章推荐
- URAL 1152 Faise Mirrors 状压DP 简单题
- Container With Most Water
- Motion Hosts Wheelchair
- videos and multimediaIn
- 用数据助力中国广告主全球化攻势
- 安装问题Error: dl failure on line 864
- [LeetCode] Contains Duplicate II
- HTML5大数据可视化效果(一)彩虹爆炸图
- HDFS写文件解析
- hdu1848 Fibonacci again and again(SG函数博弈)
- Mac系统安装Rails
- 为大数据处理点亮一盏明灯----Spark知识系统化整理分享
- #219 Contains Duplicate II
- [leetcode] Contains Duplicate III
- 大数据引发的联想--人工智能
- 使用HDFS API列出目录下的所有文件
- 暴力/DP Codeforces Beta Round #22 (Div. 2 Only) B. Bargaining Table
- opencv源码研究: icvGetHaarTrainingDataFromBG和icvGetHaarTrainingDataFromVec的区别
- socket对于大数据的发送和接收
- LightOJ-1138 Trailing Zeroes (III) (二分搜索)