仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1745|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA编程:在java使用程序中显现数据库的blob图象...

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:54:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
轮性能微软曾做过一个例子,就是同一个项目用java和.net来作,结果开发周期,.net是java的一半,性能java是.net的十分之一,代码量java是.net的三倍。呵呵,这说明了什么,.net的全方位比java好。但是有的人说.net不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net,只是推出了跨语言的.net,程序|数据|数据库|显现道理:
<1>从数据库中读取blob到Blob对象.Blobblob=rs.getBlob(2);
<2>把blob传给Stream.
<3>用Stream参数创立Image对象
<4>显现Image对象.
申明:这只是例子,没有思索其他方面.但愿人人能对java毗连数据库,和取对象有个详细的懂得.
关于数据库的sql
CREATETABLEphoto(
photo_noint(6)unsignedNOTNULLauto_increment,
imageblob,
PRIMARYKEY(`photo_no`)
)

本例子用到两个文件:
DrawPanel.java以下
importjava.awt.*;
importjava.sql.*;
importjava.awt.image.*;
importjava.io.*;
importjavax.swing.*;

/**
*<p>Title:</p>
*
*<p>Description:vincentlaw@163.com</p>
*
*<p>Copyright:Copyright(c)2005</p>
*
*<p>Vincent</p>
*
*@authorvincent
*@version1.0
*/

publicclassDrawPanelextendsPanel{
Imageim;
Insetsinsets;
publicDrawPanel(){
im=Toolkit.getDefaultToolkit().getImage("c:1.jpg");//默许的文件
try{
jbInit();
}catch(Exceptionex){
ex.printStackTrace();
}
}
publicvoidaddNotify(){
super.addNotify();
insets=getInsets();
setBounds(100,100,217+insets.left,321+insets.top);
}
publicvoidpaint(Graphicsg){
g.drawImage(im,insets.left,insets.top,this);
}
privatevoidjbInit()throwsException{
}
publicvoidchangeImage(StringfileName)
{
try{
//Class.forName("oracle.jdbc.driver.OracleDriver");
//Connectionconn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl2","user","password");
Class.forName("com.mysql.jdbc.Driver");
Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/job?user=root&password=5672831");
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery("selectphoto_no,photo_imagefromphoto");
rs.next();
Blobblob=rs.getBlob(2);
//数据库毗连
InputStreamfin=blob.getBinaryStream();
im=javax.imageio.ImageIO.read(fin);
rs.close();
stmt.close();
conn.close();
}
catch(Exceptione)
{
e.printStackTrace();
JOptionPane.showMessageDialog(null,"毛病,装载当地文件");
im=Toolkit.getDefaultToolkit().getImage(fileName);
}
this.repaint();
}
}

ShowImage.java以下:

importjava.awt.BorderLayout;
importjava.awt.*;
importjavax.swing.*;
importjavax.swing.JToggleButton;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
/**
*<p>Title:</p>
*
*<p>Description:vincentlaw@163.com</p>
*
*<p>Copyright:Copyright(c)2005</p>
*
*<p>Vincent</p>
*
*@authorvincent
*@version1.0
*/
publicclassShowImageextendsJFrame{
BorderLayoutborderLayout1=newBorderLayout();
JToggleButtonjToggleButton1=newJToggleButton();
DrawPanelpanel=newDrawPanel();

publicShowImage(){
try{
jbInit();
}catch(Exceptionexception){
exception.printStackTrace();
}
}
privatevoidjbInit()throwsException{
getContentPane().setLayout(borderLayout1);
jToggleButton1.setText("jToggleButton1");
jToggleButton1.addActionListener(new
ShowImage_jToggleButton1_actionAdapter(this));
this.getContentPane().add(jToggleButton1,java.awt.BorderLayout.NORTH);
this.getContentPane().add(panel,java.awt.BorderLayout.CENTER);
}
publicvoidjToggleButton1_actionPerformed(ActionEvente){
panel.changeImage("E:photohoto1281.jpg");//备用图象文件
}

publicfinalstaticvoidmain(String[]args){
JFrameframe=newShowImage();
frame.setSize(800,600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

classShowImage_jToggleButton1_actionAdapterimplementsActionListener{
privateShowImageadaptee;
ShowImage_jToggleButton1_actionAdapter(ShowImageadaptee){
this.adaptee=adaptee;
}
publicvoidactionPerformed(ActionEvente){
adaptee.jToggleButton1_actionPerformed(e);
}
}

java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。
沙发
发表于 2015-1-21 16:55:13 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
莫相离 该用户已被删除
板凳
发表于 2015-1-30 21:21:42 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
金色的骷髅 该用户已被删除
地板
发表于 2015-1-31 07:40:02 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
谁可相欹 该用户已被删除
5#
发表于 2015-2-6 18:26:45 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
兰色精灵 该用户已被删除
6#
发表于 2015-2-7 12:51:18 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
小妖女 该用户已被删除
7#
发表于 2015-2-11 03:10:15 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
再见西城 该用户已被删除
8#
发表于 2015-3-1 20:11:39 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
简单生活 该用户已被删除
9#
发表于 2015-3-4 08:45:12 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
活着的死人 该用户已被删除
10#
发表于 2015-3-11 18:04:54 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
再现理想 该用户已被删除
11#
发表于 2015-3-12 23:52:30 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
admin 该用户已被删除
12#
发表于 2015-3-20 00:53:36 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
若相依 该用户已被删除
13#
发表于 2015-3-22 19:11:01 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
不帅 该用户已被删除
14#
发表于 2015-3-27 12:08:45 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
第二个灵魂 该用户已被删除
15#
发表于 2015-4-1 16:16:24 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
愤怒的大鸟 该用户已被删除
16#
发表于 2015-4-9 13:36:18 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
灵魂腐蚀 该用户已被删除
17#
发表于 2015-4-18 11:36:23 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
分手快乐 该用户已被删除
18#
发表于 2015-4-28 02:18:36 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
精灵巫婆 该用户已被删除
19#
发表于 2015-5-1 13:12:08 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
透明 该用户已被删除
20#
发表于 2015-5-8 02:34:44 | 只看该作者
是一种使用者不需花费很多时间学习的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 01:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表