- 浏览: 748879 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
lengzl:
请问,那个Node 是哪个包里面的类?
JAVA 二叉树的递归和非递归遍历 -
gongchuangsu:
总结的很好,感谢感谢
JAVA 二叉树的递归和非递归遍历 -
Caelebs:
666666666 居然是10年发的,难怪截屏自动保存的名字是 ...
截图工具 -
jijiqw:
是注解不是注释。。。
Spring @Transactional (一) -
letueo:
[b][b][b][b][b][b][b][b][b][b][ ...
Spring @Transactional (一)
文章出处:http://blog.csdn.net/thc1987/archive/2009/03/10/3972201.aspx
存入操作
取出操作
需要说明的是,上面是原稿,下面我进行一下修改改为Java+mysql版本的:
首先来创建数据库:(在Mysql中创建)
至此,mysql数据库,建立完毕。把mysql的驱动加上去。下面是java代码的实现:我在原来的代码基础上,稍作修改,就实现了。这里还得在D盘放一张111.jpg的图片,然后运行StoreBLOB.java,再运行GetBLOB.java,最后再查看D盘,多了一张222.jpg.
我自己改的,
存入操作:
取出操作
存入操作
/* ---------------表结构------------ 表名:student2 +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(4) | NO | PRI | NULL | | | name | varchar(20) | YES | | NULL | | | stupic | blob | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ */ package com.ibm.jdbc; import java.io.*; import java.sql.*; public class StoreBLOB { public static void main(String[] args) { //连接MySQl数据库 Connection con=DBManager.getConnection(); PreparedStatement ps=null; InputStream in=null; try { //从本地硬盘读取一张读片 in=new FileInputStream("d:/111.jpg"); ps=con.prepareStatement("insert into student2 values(?,?,?)"); ps.setInt(1,2); ps.setString(2, "Tom"); ps.setBinaryStream(3, in, in.available()); ps.executeUpdate(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { //关闭流 if(in!=null) in.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //关闭相关连接 DBManager.close(ps, con); } } }
取出操作
package com.ibm.jdbc; import java.sql.*; import java.io.*; public class GetBLOB { public static void main(String[] args) { Connection con=DBManager.getConnection(); Statement st=null; ResultSet rs=null; InputStream in=null; OutputStream out=null; try { st=con.createStatement(); rs=st.executeQuery("select stupic from student2 where id=2"); rs.next(); //将光标指向第一行 //从rs中读取stupic放进InputStream对象中 in=rs.getBinaryStream("stupic"); //申明byte数组,用来存放图片流 byte[] b=new byte[40000]; in.read(b); //从InputStream对象中读取数据放进byte数组中 //实例化OutputStream对象,在D盘创建一个图片文件 out=new FileOutputStream("d:/222.jpg"); //将文件输出,内容则为byte数组里面的数据 out.write(b); out.flush(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if(in!=null) in.close(); if(out!=null) out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } DBManager.close(rs, st, con);//关闭相关连接 } } }
需要说明的是,上面是原稿,下面我进行一下修改改为Java+mysql版本的:
首先来创建数据库:(在Mysql中创建)
mysql> create database test; mysql> use test; mysql> create table student2 ( mysql> id int(4) primary key not null, mysql> name varchar(20), mysql> stupic blob mysql> );
至此,mysql数据库,建立完毕。把mysql的驱动加上去。下面是java代码的实现:我在原来的代码基础上,稍作修改,就实现了。这里还得在D盘放一张111.jpg的图片,然后运行StoreBLOB.java,再运行GetBLOB.java,最后再查看D盘,多了一张222.jpg.
我自己改的,
存入操作:
package com.ibm.jdbc; import java.io.*; import java.sql.*; public class StoreBLOB { public static void main(String[] args) { //连接MySQl数据库 try { Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (InstantiationException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalAccessException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (ClassNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } String user="root"; String password="root"; String url="jdbc:mysql://localhost:3306/test?user=root&password=root&useUnicode=true"; Connection con = null; try { con = DriverManager.getConnection(url); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } PreparedStatement ps=null; InputStream in=null; try { //从本地硬盘读取一张读片 in=new FileInputStream("d:/111.jpg"); ps=con.prepareStatement("insert into student2 values(?,?,?)"); ps.setInt(1,2); ps.setString(2, "Tom"); ps.setBinaryStream(3, in, in.available()); ps.executeUpdate(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { //关闭流 if(in!=null) in.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { ps.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //关闭相关连接 //DriverManager.close(ps, con); } } }
取出操作
package com.ibm.jdbc; import java.sql.*; import java.io.*; public class GetBLOB { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (InstantiationException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } catch (IllegalAccessException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } catch (ClassNotFoundException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } String user="root"; String password="root"; String url="jdbc:mysql://localhost:3306/test?user=root&password=root&useUnicode=true"; Connection con = null; try { con = DriverManager.getConnection(url); } catch (SQLException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } Statement st=null; ResultSet rs=null; InputStream in=null; OutputStream out=null; try { st=con.createStatement(); rs=st.executeQuery("select stupic from student2 where id=2"); rs.next(); //将光标指向第一行 //从rs中读取stupic放进InputStream对象中 in=rs.getBinaryStream("stupic"); //申明byte数组,用来存放图片流 byte[] b=new byte[40000]; in.read(b); //从InputStream对象中读取数据放进byte数组中 //实例化OutputStream对象,在D盘创建一个图片文件 out=new FileOutputStream("d:/222.jpg"); //将文件输出,内容则为byte数组里面的数据 out.write(b); out.flush(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if(in!=null) in.close(); if(out!=null) out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { rs.close(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { st.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //DriverManager.close(rs, st, con);//关闭相关连接 } } }
发表评论
-
Servlet上传文件
2012-02-07 23:58 1501准备工作:要到http://commons.apache.or ... -
成为Java高手需要达到的25个学习目标--经典
2012-01-29 16:07 1355本文将告诉你学习Java需 ... -
Timer, Quartz 和 Spring 实现作业调度
2011-11-28 15:43 1182一、java.util.Timer ... -
Java 产生不重复的随机数
2011-06-22 23:32 2367int numberCount = 6; ... -
Date类学习总结(Calendar Date 字符串 相互转换 格式化)
2011-06-20 16:12 1674Date类学习总结 1.计算某一月份的最大天数 ... -
jsp中的cookie用法小实例
2011-06-20 00:13 2496这个小实例有三个页面 index.jsp页面内容如下: Y ... -
JS实现简单的增删改查
2011-06-19 23:41 12973<%@ page language="ja ... -
Jsp 动态显示系统时间
2011-06-19 23:24 4906<%@ page language=" ... -
java 动态显示时间
2011-06-19 23:13 4066import java.util.Date; p ... -
js 动态显示时间
2011-06-19 22:53 1837<%@ page language=" ... -
HTML 显示系统时间
2011-06-19 22:13 7894代码1:(显示静态时间) <script type=& ... -
JavaScript 动态显示系统时间
2011-06-19 19:36 2089JavaScript 动态显示系统时间 <html ... -
两例JavaScript 获取当前系统日期和时间
2011-06-19 19:20 1260两例JavaScript 获取当前系统日期和时间 QUOTE ... -
java五种JSP页面跳转方法详解
2011-06-19 17:08 14811. RequestDispatcher.forward() ... -
Java Object方法
2011-06-19 16:47 1370package com.abin.test.connectio ... -
Java 数组,List,Itarator循环
2011-06-19 16:01 2317package com.abin.test.connect ... -
JAVA DBClass操作数据库,这样算不算单列模式
2011-06-19 14:53 1262到底怎样才算单列模式,单列模式事什么概念 package c ... -
Oracle日期函数集锦
2011-06-16 20:55 945Oracle日期函数集锦(一) 一、 常用日期数据格式 1 ... -
java 页面传送数组
2011-06-15 14:56 26011.可以通过嵌入java代码调用session或者reques ... -
java Calendar当前时间
2011-06-14 13:40 1689Calendar c = Calendar.getIn ...
相关推荐
本实例将详细介绍如何使用Java和MySQL进行图片的存取操作。 首先,让我们了解MySQL中的BLOB类型。BLOB是一个用来存储大量二进制数据的字段类型,它不受字符集的限制,适合存储图像、音频或视频文件等。MySQL提供了...
Mysql 数据库中存取图片的 Java 实现 MySQL 数据库中存取图片的 Java 实现可以通过两种方式实现:一种是将图片单独存放在固定文件夹里,数据库表中对应的字段仅保存该图片的路径和名字 ;另一种是先对图片进行编码...
"基于Java向MySQL数据库中存取图片" 在本文中,我们将介绍如何使用Java语言向MySQL数据库中存取图片。首先,我们需要了解MySQL数据库中的Blob类型,它是一个二进制类型,通常我们会将图片或音像文件转成二进制再...
这个过程涉及到的主要技术包括Java编程、数据库操作(特别是MySQL)以及前后端交互。 首先,我们需要理解的是,将图片存储到数据库中通常采用的方法是将图片转换为二进制数据流。这是因为数据库系统更善于处理结构...
学习和研究这个项目,不仅可以深入理解Java Web开发,还可以熟悉MySQL数据库的使用,包括CRUD操作、事务处理、索引优化等。同时,通过阅读源码,可以学习到如何设计和实现论坛的用户认证、权限控制、分页显示、搜索...
【Java + MySQL 系统详解】 Java 和 MySQL 的结合是构建高效、稳定的企业级Web应用程序的常见选择。这个“java+mysql系统”是一套基于Java技术栈和MySQL数据库的管理系统,设计用于部署在Tomcat应用服务器上。让...
在系统中,开发者通过JDBC驱动程序与MySQL建立连接,执行SQL语句,实现数据的存取。这涉及到加载驱动、创建连接、准备与执行SQL语句、处理结果集以及关闭连接等一系列步骤。 **4. MVC设计模式** Model-View-...
- **JDBC连接数据库**:使用Java的JDBC API进行数据库操作,实现对MySQL的数据存取。 - **Spring框架**:Spring提供了依赖注入和AOP(面向切面编程)等功能,简化了系统开发。 - **Hibernate ORM**:可选地,系统...
在单词簿应用中,JDBC接口用于建立Java程序与MySQL数据库之间的桥梁,实现数据的存取。 5. **数据库设计**: 项目的数据库可能包含至少两个表:一个是用户表,用于存储用户名、密码等用户信息;另一个是单词表,...
Java通过JDBC(Java Database Connectivity)接口连接到MySQL数据库,进行数据的存取操作。开发者可能使用了Servlet和JSP技术来构建Web应用,Servlet负责接收和响应HTTP请求,JSP则用于动态生成HTML页面,展示数据和...
总的来说,"mysql-connector-java-8.0.16.rar" 是Java开发者与MySQL数据库交互的重要工具,通过它可以轻松地在Java应用程序中实现数据的存取和管理。正确地集成和使用这个驱动包,可以极大地提升开发效率,并确保...
总结,`mysql-connector-java-5.1.40.zip`和`mysql-connector-java-5.1.10.jar`是MySQL与Java应用交互的关键组件,它们通过JDBC实现了数据存取功能。了解和正确使用这些文件,可以帮助Java开发者更高效地与MySQL...
MySQL是世界上最受欢迎的关系型数据库...总之,`mysql-connector-java-5.1.47`是连接Java应用程序和MySQL 5.x数据库的关键组件,它的使用极大地简化了Java开发中的数据库操作,使得数据存取和管理变得更为高效和便捷。
此外,还需使用JAVA的JDBC(Java Database Connectivity) API来连接和操作数据库,实现数据的存取。 系统的核心功能包括: 1. 用户管理:注册、登录和权限控制。用户可以创建账户,登录系统进行图书查询、借阅等...
开发者可能使用了JDBC(Java Database Connectivity)API来连接Java程序与MySQL数据库,实现了数据的增删改查操作。 系统可能包含以下几个主要模块: 1. **用户界面**:Swing组件构成的主界面,可能包括菜单栏、...
因此,MySQL Connector/J扮演着连接这两者的角色,使得Java开发者能够方便地进行数据存取、查询、更新和删除等操作。 MySQL Connector/J 8.0.28 版本的发布,主要关注于增强性能、稳定性和安全性。在这一版本中,...
在本项目中,Java通过JDBC(Java Database Connectivity)接口连接到MySQL数据库,进行数据的存取操作。JDBC是Java标准的一部分,它提供了一系列的API,使得Java程序可以与各种数据库系统进行通信。开发者需要编写...
这里我们将详细探讨如何实现这一功能,主要围绕Java与关系型数据库(如MySQL)的交互。 1. 图片编码: 在将图片存入数据库之前,需要将图片文件转换成可存储的数据格式。常用的方法是将图片文件转换为二进制流或...
MySQL是世界上最受欢迎的开源数据库系统之一,而...通过这个压缩文件,Java开发者能够在Mac OS上无缝地与MySQL 8.0.21数据库进行通信,实现数据的存取、管理和分析,为开发高效、稳定的数据库应用提供了坚实的基础。
Java 对 Blob 的存取 在 Java 中对 Blob(Binary Large OBject)的存取是非常重要的,Blob 是一种二进制大对象,它...Java 对 Blob 的存取是非常重要的,它可以帮助我们实现图片、音频、视频等大型文件的存储和读取。