Java从数据库中读取图片到Jpanel

Java从数据库中读取图片到Jpanel
Java从数据库中读取图片到Jpanel

Java从数据库中读取图片到Jpanel

想索取更多相关资料请加qq:649085085或登录https://www.360docs.net/doc/0e18211025.html, PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。

Java从数据库中读取图片到Jpanel,代码如下:

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.Statement;

import java.sql.ResultSet;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.imageio.ImageIO;

import java.awt.Container;

import java.awt.Graphics;

import java.awt.image.BufferedImage;

public class pictest

{

public pictest(){

JFrame f=new JFrame();

Container p=f.getContentPane();

ppic pic=null;

InputStream in=null;

try{

int i=3;

String url="****************";

Class.forName("com.mysql.jdbc.Driver");

Connection con=DriverManager.getConnection(url,"***","***"); //连接到数据库

if(!con.isClosed())

System.out.println("数据库连接成功");

String sql="select * from campusimage";

Statement st=con.createStatement();

ResultSet rs=st.executeQuery(sql);

for(int j=0;j

rs.next();

if(rs.next())

in=rs.getBinaryStream(1);

pic=new ppic(in);

rs.close();

st.close();

con.close();

}catch(Exception e){e.printStackTrace();}

p.setLayout(null);

p.add(pic);

f.setBounds(500,400,800,900);

f.setVisible(true);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

class ppic extends JPanel

{ BufferedImage bi;

ppic(InputStream in){

try{

bi=ImageIO.read(in);

setBounds(0,0,700,600);

}catch(Exception e){e.printStackTrace();}

}

public void paint(Graphics g){

g.drawImage(bi,0,0,700,600,null);

}

}

public static void main(String[] args){

new pictest();

}

}

ps:网上许多人都是把数据库中的图片实例化到本地,不仅读取速度慢,而且浪费内存,当时如果你的图片非常小就算了。

想索取更多相关资料请加qq:649085085或登录https://www.360docs.net/doc/0e18211025.html, PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。

数据库图片的存储

1、引言 数据库应用程序,特别是基于WEB的数据库应用程序,常会涉及到图片信息的存储和显示。通常我们使用的方法是将所要显示的图片存在特定的目录下,在数据库中保存相应的图片的名称,在JSP中建立相应的数据源,利用数据库访问技术处理图片信息。但是,如果我们想动态的显示图片,上述方法就不能满足需要了。我们必须把图片存入数据库,然后通过编程动态地显示我们需要的图片。实际操作中,可以利用JSP的编程模式来实现图片的数据库存储和显示。 2、建立后台数据库 假定处理的是图片新闻,那么我们可以建立相应的数据库及数据表对象。我们要存取的数据表结构的SQL脚本如下所示: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[picturenews]') andOBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[picturenews] GO CREATE TABLE [dbo].[picturenews] ( [id] [int] IDENTITY (1, 1) NOT NULL , [image] [image] NULL , [content] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL , [detail] [varchar] (5000) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO 表picturenews中,字段id作为标识,每存储一行数据,自动增加1。字段image 用于存储图片信息,其数据类型为“image”。 3、向数据库存储二进制图片 启动Dreamweaver MX后,新建一个JSP文件。其代码如下所示。 <%@ page contentType="text/html;charset=gb2312"%>

java连接mysql数据库

Java连接MySQL 数据库的正确操作流程 时间:2010-05-25 15:41 来源:博客园字体:[大中小] 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例),我们主要是以MySQL数据库为例讲下Java正确连接MySQL数据库的实际操作流程,以下就是对其详细内容的描述。 当然,首先要安装有JDK(一般是。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的加到classpath里,具体如下: “我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。 环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。 我是用SQLyog的前端软件来创建Database的。 先创接MySQL 数据库: 1.CREATE DATABASE SCUTCS; 接着,创建表: 1.CREATE TABLE STUDENT 2.( 3.SNO CHAR(7) NOT NULL, 4.SNAME VARCHAR(8) NOT NULL, 5.SEX CHAR(2) NOT NULL, 6.BDATE DATE NOT NULL, 7.HEIGHT DEC(5,2) DEFAULT , 8.PRIMARY KEY(SNO) 9.); 然后插入数据,可以用SQL语句insert into <表名> values (value1, value2, ...); 也可以用SQLyog来操作 好了,创建好了。

C#从SQL 数据库中读取和存入图片

C#从SQL 数据库中读取和存入图片 本实例主要介绍如何将图片存入数据库。将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStream类、BinaryReader把图片读成字节的形式,赋给一个字节数组,然后用 ADO.SqlCommand对象的ExecuteNonQuery()方法来把数据保存到数据库中。主要代码如下: private void button1_Click(object sender, EventArgs e) { openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP"; if(openFileDialog1.ShowDialog()==DialogResult.OK) { string fullpath =openFileDialog1.FileName;//文件路径 FileStream fs = new FileStream(fullpath, FileMode.Open); byte[] imagebytes =new byte[fs.Length]; BinaryReader br = new BinaryReader(fs); imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length)); //打开数据库 SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05"); con.Open(); SqlCommand com = new SqlCommand("insert into tb_08 values(@ImageList)",con); com.Parameters.Add("ImageList", SqlDbType.Image); com.Parameters["ImageList"].Value = imagebytes; com.ExecuteNonQuery(); con.Close();

Java连接MySql数据库,并且实现插入、删除、更新、选择操作

天之火–Qutr的专栏 君子终日乾乾,夕惕若,厉,无咎。 Home Java连接MySql数据库,并且实现插入、删除、更新、选择操作! 这是我最近写的一个连接MySql数据库的一个例子,主要实现了插入,删除,更新,选择操作,用的环境是j2sdk1.4.2_08,Eclipse3.1。以前我的同事用Python 写了同样的类,非常的好用,支持了我们公司的大部分业务,现在我们慢慢改用Java了,所以我用Java重写了一遍。一方面在今后的业务中能够用到,另一方面熟悉一下Java。 下面我把在Eclipse3.1下怎样配置数据库连接信息简单说一下。 1.启动Eclipse3.1。 2.建立一个Java project就叫DbConnect 吧,再在该Project下建立一个新类也叫 DbConnect 吧。 3.右击DbConnect.java文件点import,选择Archive file然后选择你的 mysql-connector-java-3.1.8-bin.jar文件,点Finish。你会看到有好些文件被加载进来,OK这就是连接MySql所需的驱动信息。如果到了这里你都成功的话那么恭喜你,你已经成功一半了!:) 4.接下来把我下面的代码copy到你的Java文件中,修改相关的数据库连接信息 运行一下。OK? 我说一下那个mysql-connector-java-3.1.8-bin.jar文件,其实这就是一个MySql的驱动,各数据库厂商提供了不同的适用于JDBC的驱动使得在Java中连接数据库非常简单。这里我就不多说了,以后我会写篇专门介绍数据库驱动的文章。关于MySql的驱动还有更新版本的,你需要到MySql的网站上去下载,这个网上到处都是,我就不多说了。下面看程序,有些地方我写了详细的注释应该能看懂。 这个类是非常有特色的,在每个方法的传人参数和返回值不变的情况下,希望高手能提出改进意见。多指教,谢谢! /** * 数据库连接、选择、更新、删除演示 */ //import java.sql.*; import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; import java.sql.DriverManager; import java.util.*; public class DbConnect {

Java中连接MySql数据库的几种方法

JDBC Java中JDBC定义了java与各种sql数据库之间的编程接口,JDBC API是一个统一的标准应用程序编程接口,这样可以屏蔽异种数据库之间的差异。 JDBC的工作原理 JDBC与ODBC(OpenData Base Connectivity,开放式数据库连接)的作用非常类似,它在应用程序和数据库之间起到了桥梁的作用。ODBC使用的特别广泛,在java中还提供了JDBC-ODBC桥,能够在JDBC与ODBC之间进行转换,这样可以通过ODBC屏蔽不同种数据库之间的差异。在JDK的包java.sql.*中定义了一系列的类、接口、异常以及这些类和接口中定义的属性和方法,java的开发人员通过一定的规则调用java.sql.*中的API就可以实现对数据库管理系统的访问。 JDBC的四种驱动 1.JDBC-ODBC Bridge JDBC-ODBC Bridge可以访问一个ODBC数据源,但在执行Java程序的机器上必须安装ODBC驱动,并作出配置,它的调用方式如下图: 因为中间有个JDBC-ODBC,所以影响了执行效率。 配置ODBC数据源的方法如下(以Mysql为例): 第一步,打开控制面板—>管理工具--->数据源(ODBC) 选择系统DSN,这一项默认应该是空的,我这里是已经配置好了一个数据源。

第二步,点击添加 第三步,选择Mysql的ODBC驱动,点击完成。 注:MySQL的ODBC驱动在系统中一般是找不到的,因为它不是系统默认自带的驱动,所以,我们要自己安装我们所需要的MySQL的ODBC驱动。安装步骤如下: ①.下载安装包,https://www.360docs.net/doc/0e18211025.html,/downloads/connector/odbc/ ②.我们下载与自己系统相应的ODBC驱动 这里我们选择

怎样将图片上传到数据库进行保存

这个范例共包括三个ASP文件和一个数据库(一个表),全部在同一目录下。 1、tblImage 表结构(ACCESS 2000) sn 自动编号序列号 content-type 文本图片类型 image OLE 对象图片数据 2、SimpleImageToData.asp:上传表单及保存图片到数据库的代码部分,主要文件。 <%@ Language=VBScript %> <% option explicit %> <% '从一个完整路径中析出文件名称 function getFileNamefromPath(strPath) getFileNamefromPath = mid(strPath,instrrev(strPath,"\")+1) end function '定义数据库连接字符串 dim cnstr cnstr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.MapPath("./upload.mdb") %> 单个图像保存到数据库 上传图片 显示图片


<% if request.ServerVariables("REQUEST_METHOD") = "POST" then dim sCome, sGo, binData, strData dim posB, posE, posSB, posSE dim binCrlf dim strPath, strFileName, strContentType binCrlf = chrb(13)&chrb(10) '定义一个单字节的回车换行符

Java连接mysql数据库源代码

Java连接mysql数据库源代码 /** *@author mervyn *@Development_time 2011.3.12 *welcome to https://www.360docs.net/doc/0e18211025.html,/mervyn_hb */ package src; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.sql.*; import java.util.*; public class MysqlConnectSystem { /** * @param args * @throws IOException */ public static void main(String[] args) throws SQLException, IOException { String Usename,KeyID,UrlString; //String DriverConnect; char MenuExitValue; String driver="com.mysql.jdbc.Driver"; Scanner EntryValue=new Scanner(System.in); System.out.println("欢迎使用MysqlConnectSystem信息管理系统!"); MysqlConnectSystem mysqlconnect=new MysqlConnectSystem(); MysqlConnectSystem mysqlinsert=new MysqlConnectSystem(); MysqlConnectSystem mysqlupdate=new MysqlConnectSystem(); MysqlConnectSystem mysqldelete=new MysqlConnectSystem(); System.out.println("请输入要登录的用户名:"); Usename=EntryValue.next(); System.out.println("请输入要登录的数据库的密码:"); KeyID=EntryValue.next(); System.out.println("请输入需要登录的数据库:"); UrlString="jdbc:mysql://127.0.0.1:3306/"+EntryValue.next(); do{ try { Class.forName(driver); Connection conn=DriverManager.getConnection(UrlString, Usename,

通过java或jsp想数据库存取二进制图片(精)

1 MySQL存储大容量的二进制文件的格式是 blob ,其实除了图片还可以存别的 2 要向数据库存储二进制的文件一定要把要存储的数据转换成二进制流 废话就不多说了, 大家看看代码很容易明白, 先来看一个 app 程序, 当然首先您要在数据库中先建立一个用于保存图片的表和相应的列,数据格式为 blob package com.lizhe; import Java.io.*; import java.sql.*; public class PutImg { public void putimg( { try { Class.forName("org.gjt.mm.mysql.Driver".newInstance(; String url = "JDBC:mysql://localhost/img?user=root&password=root&useUnicode=true&characterE ncoding= gbk"; Connection conn = DriverManager.getConnection(url; Statement stmt = conn.createStatement(; //stmt.execute("insert into imgt (id values (5"; stmt.close(; PreparedStatement pstmt = null; String sql = "";

File file = new File("c: log.jpg"; InputStream photoStream = new FileInputStream(file; //sql = " UPDATE imgt SET img = ? "; sql = "INSERT INTO imgtable (img VALUES (?"; pstmt = conn.prepareStatement(sql; pstmt.setBinaryStream(1, photoStream, (int file.length(; pstmt.executeUpdate(; pstmt.close(; conn.close(; } catch (Exception e { e.printStackTrace(; } } public static void main(String args[]{ PutImg pi=new PutImg(; pi.putimg(; } } InputStream photoStream = new FileInputStream(file;

Java连接MySql数据库入门操作

这是连接后进行一些简单操作后的结果: Succeeded connecting to the Database! 学号姓名 2011001 张三 2011002 李四 2011003 王五 先去下载MySql并安装好。安装MySql的方法在 https://www.360docs.net/doc/0e18211025.html,/view/9cc0fcc76137ee06eff918d5.html 然后下载jdbc驱动。 https://www.360docs.net/doc/0e18211025.html,/downloads/connector/j/ 下载好了解压即可。把那个zip文件也放到解压后的目录中,方便管理使用。 我使用的是eclipse,我要导入包,先进行一些设置。

安装jre。 添加外部jar文件 打开刚才解压得到的jar文件。

打开的效果。 使用mysql创建数据库,进行测试。 mysql> use test; Database changed mysql> create table student ( -> sno char(7) not null, -> sname varchar(8) not null, -> sex char(2) not null -> ); Query OK, 0 rows affected

mysql> insert into student values -> (2011001, '张三', '男'); Query OK, 1 row affected mysql> insert into student values -> (2011002, '李四', '男'); Query OK, 1 row affected mysql> insert into student values -> (2011003 , '王五', '男'); Query OK, 1 row affected mysql> select * from student; +---------+-------+-----+ | sno | sname | sex | +---------+-------+-----+ | 2011001 | 张三| 男| | 2011002 | 李四| 男| | 2011003 | 王五| 男| +---------+-------+-----+ 3 rows in set mysql> 编码测试。 输入下面源代码: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCTest { public static void main(String[] args){ try { // 加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); // URL指向要访问的数据库名test String url = "jdbc:mysql://127.0.0.1:3306/test"; // MySQL配置时的用户名 String user = "root";

C# 图片保存到数据库和从数据库读取图片并显示

C# 图片保存到数据库和从数据库读取图片并显示 图片保存到数据库的方法: public void imgToDB(string sql) { //参数sql中要求保存的imge变量名称为@images //调用方法如:imgToDB("update UserPhoto set Photo=@images where UserNo='" + temp + "'"); FileStream fs = File.OpenRead(t_photo.Text); byte[] imageb = new byte[fs.Length]; fs.Read(imageb, 0, imageb.Length); fs.Close(); SqlCommand com3 = new SqlCommand (sql,con); com3.Parameters.Add("@images", SqlDbType.Image).Value = imageb; if (com3.Connection.State == ConnectionState.Closed) com3.Connection.Open(); try { com3.ExecuteNonQuery(); } catch { } finally { com3.Connection.Close(); } } 数据库中读出图片并显示在picturebox中: 方法一: private void ShowImage(string sql) { //调用方法如:ShowImage("select Photo from UserPhoto where UserNo='" + userno +"'"); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); byte[] b= (byte[])cmd.ExecuteScalar(); if (b.Length 〉0) { MemoryStream stream = new MemoryStream(b, true); stream.Write(b, 0, b.Length); pictureBox1.Image = new Bitmap(stream); stream.Close(); } conn.Close(); }

Java使用JDBC连接MYSQL数据库增删改查示例

Java使用JDBC连接MYSQL数据库增删改查示例JDBC连接MYSQL数据库: import java.sql.Connection; import java.sql.DriverManager; public class Mysql { public static void main(String arg[]) { try { Connection con = null; //定义一个MYSQL链接对象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL 驱动 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //链接本地MYSQL System.out.print("yes"); } catch (Exception e) { System.out.print("MYSQL ERROR:" + e.getMessage()); } }

} Class.forName("com.mysql.jdbc.Driver").newInstance(); 我们链接的是MYSQL 数据库,所以需要一个MYSQL的数据库驱动,如果你的环境中没有安装,可以下载:mysql-connector-java-5.1.17-bin.jar JAR包,然后放进jdk1.6.0_37\jre\lib\ext 重启eclispe 就可以在JRE系统库中看到。 con = DriverManager.getConnection;("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); 是链接数据库的语句,返回Connection con;对象。参数格式:("jdbc:mysql://ip:端口/数据库名称", 用户名,密码) 写入一条数据 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Mysql { /**

java实现图片或文件的上传功能实现代码

java实现图片或文件的上传功能具体思路及代码 一、思路 文件是如何从本地发送到服务器的呢? 首先,我们创建一个新的web工程,在工程的WebRoot目录下新建一个upload文件夹,这样当我们将该工程部署到服务器上时,服务器便也生成个upload文件夹,用来存放上传的资源。 然后,在WebRoot目录下新建一个jsp文件,主要实现的作用就是选择上传的文件,提交至servlet来进行处理 详细代码如下:一个form将文件信息通过post方式传送到指定的servlet 二、代码 复制代码代码如下: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> "> My JSP 'upload.jsp' starting page

请选择上传的图片或文件:

上传图片及存到数据库

1.上传图片到指定的文件夹,并且把图片的路径存到数据库里面。 //判断上传是否有文件 if (FileUpload1.HasFile) { string filepath = FileUpload1.PostedFile.FileName.ToString(); //将图片保存到项目文件夹image里面 string fileName = System.IO.Path.GetFileName(filepath); string savePaht = Server.MapPath("images/" + fileName); FileUpload1.SaveAs(savePaht); string strSql = "insert into userInfo (userimage) values ('"+ filepath+"')"; // string strSql = "insert into userInfo (userimage) values (@image)"; //userInfo 是表名userimage是图片的字段 Sqlconnection conn=new Sqlconnection(@"数据库的连接字符串"); SqlCommand cmd = new SqlCommand(strSql, conn); conn.open(); //cmd.parameters.add("@image",sqldbtype.varchar,100).value="./image"+filepath; cmd.ExecuteNonQuery(); } 2.遍历文件夹里面的图片,显示在datalist里面 //获取图片所在的文件夹的路径 DirectoryInfo imagesfile = new DirectoryInfo(Server.MapPath("./images")); //绑定数据源 DataList1.DataSource = imagesfile.GetFiles("*.jpg"); DataList1.DataBind();

Java连接MySQL数据库

Java与Myql数据库的连接问题 在我痛苦的try了N多次之后我终于明白,一个.java文件如何与mysql数据库连同并且可以在小黑屏里显示数据库里面的内容,数据库的驱动文件的安装实在是件头疼的事,实际上是不需要安转的,按如下步骤即可轻松解决。 1.在网上下载一个数据库驱动程序,例如我下载的是(0002mysqlconnectorjava517(1).rar)大小是7.71MB,解压之,到 0002mysqlconnectorjava517(1)或者到当前文件,在mysql-connector-java-5.1.7文件里有个mysql-connector-java-5.1.7-bin.jar文件,可以将此文件解压也可以不解压, 下面有a、b两种方法(结果是一样),首先我的文件是这样放的: a.我的那个没解压的.jar文件在D:\mysql-connector-java-5.1.7这个文件夹里面(就是那个694kb的压缩包) b.我把这个.jar文件解压后放在的D:\mysql-connector-java-5.1.7这个文件夹里面(就是那个mysql-connector-…)文件夹 2.配置环境变量(这是最要命的)我的电脑-->属性-->高级-->环境变量(N)-->系统变量-->新建classpath

如果是上面的a情况那么是这样配的 变量值是:D:\mysql-connector-java-5.1.7\mysql-connector-java-5.1.7-bin.jar; 请切记变量值后面一定要有一个分号----【;】切记要有这个不然就出现如下异常错误并且在每次设置环境变量之后DOS框是要重新启动的不然没有生效的是。 D:\Java>javac database.java D:\Java>java database Exception in thread "main" https://www.360docs.net/doc/0e18211025.html,ng.NoClassDefFoundError: database Caused by: https://www.360docs.net/doc/0e18211025.html,ng.ClassNotFoundException: database at https://www.360docs.net/doc/0e18211025.html,.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at https://www.360docs.net/doc/0e18211025.html,.URLClassLoader.findClass(URLClassLoader.java:188) at https://www.360docs.net/doc/0e18211025.html,ng.ClassLoader.loadClass(ClassLoader.java:307) at https://www.360docs.net/doc/0e18211025.html,uncher$AppClassLoader.loadClass(Launcher.java:301) at https://www.360docs.net/doc/0e18211025.html,ng.ClassLoader.loadClass(ClassLoader.java:252) at https://www.360docs.net/doc/0e18211025.html,ng.ClassLoader.loadClassInternal(ClassLoader.java:320) Could not find the main class: database. Program will exit. D:\Java>

java上传文件通过mybatis存储到数据库的BLOB格式中

上传文件通过mybatis存储到数据库的BLOB格式中 HTML 页面需要设置一个文件框 [html]view plaincopy 1.

2. 3. 4. 5.
上传操作方法: [java]view plaincopy 1.public int doUpload() throws Exception { 2. 3. Map param = new HashMap(); 4. ServletFileUpload servletFileUpload = new ServletFileUpload(); 5. FileItemIterator itr = servletFileUpload.getItemIterator(mSGA.getCur rentRequest()); 6.while (itr.hasNext()) { 7. FileItemStream fi = itr.next(); 8.if ("file".equals(fi.getFieldName())) { 9. InputStream is = fi.openStream(); 10.byte[] b = FileCopyUtils.copyToByteArray(is); //FileCopyU tils 为spring下的一个工具类。 11.if (b == null || b.length == 0) { return0; } 12. param.put("FILE", b);//此处所用的参数类型为 byte[] 13. } 14. } 15. 16.//////////各种参数放入param你懂得。。。。 17. 18.//dao 为个人封装的工具类。。。 19. 20. param.put("ID", dao.getSequence("SEQ_NAME")); 21.

存储过程_将图片存入数据库

一、写一个存储过程,将图片存入数据库中 基本情况介绍: 数据库版本:oracle 11g 数据库用户:scott 数据库密码:tiger JDK:1.6 要导入的图片:D:\picture\1.jpg --创建存储图片的表 CREATE TABLE IMAGE_LOB (T_ID V ARCHAR2 (5) NOT NULL,T_IMAGE BLOB NOT NULL); --创建存储图片的目录 CREATE OR REPLACE DIRECTORY IMAGES AS 'D:\picture'; 存储过程如下: CREATE OR REPLACE PROCEDURE IMG_INSERT (TID V ARCHAR2,FILENAME V ARCHAR2) AS F_LOB BFILE;--文件类型 B_LOB BLOB; BEGIN iNSERT INTO IMAGE_LOB (T_ID, T_IMAGE) V ALUES (TID,EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB; --插入空的blob F_LOB:= BFILENAME ('IMAGES', FILENAME); --获取指定目录下的文件 DBMS_LOB.FILEOPEN(F_LOB, DBMS_LOB.FILE_READONL Y); --以只读的方式打开文件 DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB,DBMS_LOB.GETLENGTH (F_LOB)); --传递对象 DBMS_LOB.FILECLOSE (F_LOB); --关闭原始文件 COMMIT; END;

JAVA数据库基本操作增删改查(精)

JAVA 数据库基本操作, 增删改查 package mypack; JAVA 数据库基本操作, 增删改查 import java.sql.Connection; import java.sql.ResultSet; import java.util.ArrayList; public class DbOper {//查询多行记录public ArrayList select({Connection conn =null; ResultSet rs =null; try {import java.sql.PreparedStatement; import java.sql.SQLException; PreparedStatement pstmt =null; ArrayList al =new ArrayList(; conn =DbConn.getConn(;pstmt =conn.prepareStatement(“select *from titles ”; rs =pstmt.executeQuery(;while (rs.next({Titles t =new Titles(;t.setTitleid(rs.getString(1;t.setTitle(rs.getString(2;al.add(t;}}catch (SQLExceptione { e.printStackTrace(;}finally {try {//TODO 自动生成catch 块if (rs!=null rs.close(;if (pstmt!=nullpstmt.close(;if (conn!=nullconn.close(;}catch (SQLExceptione { e.printStackTrace(;}}//TODO 自动生成catch 块 return al; }//查询单个对象public Titles selectOne(Stringtitleid{Connection conn =null; ResultSet rs =null; try {PreparedStatement pstmt =null; Titles t =new Titles(;

利用JavaBeans实现两种数据库间数据导入的一种方法

2012年1月 内蒙古科技与经济 Januar y 2012 第1期总第251期 Inner M o ngo lia Science T echnolo gy &Economy N o .1T o tal N o .251 利用JavaBeans 实现两种数据库间数据导入的一种方法 X 张 斌1,刘彦军2,张凤英3,侯 峰1 (1.内蒙古医学院;2.内蒙古财经学院;3.和林格尔县高级中学,内蒙古呼和浩特 010000) 摘 要:讨论了在B/S 模式下,实现不同数据库之间的数据互访,实现教学管理系统中异构数库之间的数据转换的一个方法。论述了一个基于JDBC(Jav a Dat aBase Connectiv it y )异构数据库教学管理系统的实现过程。在该系统中,利用JavaBeans 实现了JDBC 驱动程序的动态加载和数据库的动态链接,从而使系统具有较强的灵活性和开放性。 关键词:JDBC ;ODBC ;JavaBeans ;JDBC ——ODBC Bridg e ;数据库 中图分类号:T P311 文献标识码:A 文章编号:1007—6921(2012)01—0080—03 计算机网络化的加速发展和网络性能的提高,使信息系统得到了快速的发展。为了充分利用各信息系统已有的数据源,经常需要实现不同信息系统之间的数据互访。然而,系统实现技术以及实现时间上的差异,造成了在不同的信息系统中存有大量异构数据源。当前,世界上大量宝贵的有价值的信息都以不同形式存放于不同类型的数据库系统中。传统而普遍的Client /Sever 结构数据库系统不易于动态地适应企业、教育等行业日益增长的业务要求,不能跨平台应用,长期的维护需要很高的费用。另一方面,从数据的存储方式上看,在本质上表示相同的信息的数据,在不同的数据源中被定义为不同的存储方式。如:定义字段的不同,字段的类型不同,定义字段的长度不同等等。异构数据库的存在给实现不同信息系统间数据互访带来了很大不便。为此,解决异构数据源方便、灵活的互访问题便成为一个有意义的研究课题,尤其是在教学管理系统中实现两种不同数据库间数据的导入和导出。1 解决方案 在实现异构数据库间数据的转换与互访过程中,笔者总结了几种解决方案,通过几种方案的比较,可以选出一种比较合理的、方便的、易于使用的解决方案来实现异构数据库间数据的转换与互访,尤其是利用JDBC 技术以及第三方提供的驱动程序来实现数据库间数据的导入与导出就更为方便了。在教务管理信息系统中的学籍管理部分,笔者就是利用JDBC 技术来实现数据库间数据的导入。1.1 传统的解决方案 解决异构数据源互访的传统方法是两种异构数据源间建立起互相转化的模式,见图1(DB 1,DB 2,DB3,DB4为数据源;箭头为转化模式)。为解决4个 异构数据源间的互访,必须建立起12种访问模式。 所以,对于N 个异构数据源,为了实现他们的互访就需要建立的转化模式总和为:T =N (N -1),相应的交互复杂度为:O(N 2)。 如果采用传统的解决方案实现异构数据源互访会给实现带来极大的不便。在两个异构数据源建立起两种访问模式,才能实现它们的互访,这使互访系统表现出较大的复杂性,不便于灵活的访问。每次在互访系统中加入一个新的数据源,必须为这个新数据源建立起与已有数据源的多种访问模式, 这无疑又降低了系统的可扩展性。 图1 异构数据源互相转化模式 1.2 直接导入与导出方案 直接导入、导出的方法是利用数据库管理工具通过图形界面进行的直接操作。比如,使用SQL Server 2000数据库,导入数据是指从SQL Server 的外部数据源检索数据,并将数据插入到SQL Server 表的过程。而导出数据是将SQL Serv er 实例中的数据析取为某用户指定格式的过程。SQL Server 2000提供了一个数据导入与数据导出工具(或者是利用企业管理器),这是一个向导程序,利用这个向导工具,可以将桌面数据库系统(如Access 和F ox - ? 80?X 收稿日期:2011-11-28 作者简介:张斌,男,内蒙古呼和浩特人,现工作于内蒙古医学院; 刘彦军,男,内蒙古呼和浩特人,现工作于内蒙古财经学院; 张凤英,女,内蒙古呼和浩特人,现工作于和林格尔县高级中学;侯峰,男,内蒙古呼和浩特人,现工作于内蒙古医学院(通讯作者)。

相关文档
最新文档