您的位置:首页 > 编程语言 > Java开发

java 操作blob、clob大字段代码示例

2011-12-13 20:13 746 查看
BlobDemo01.java

============================================================

import java.sql.Connection ;

import java.sql.DriverManager ;

import java.sql.SQLException ;

import java.sql.PreparedStatement ;

import java.io.File ;

import java.io.FileInputStream ;

import java.io.InputStream ;

public class BlobDemo01{

// 定义MySQL的数据库驱动程序

public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;

// 定义MySQL数据库的连接地址

public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;

// MySQL数据库的连接用户名

public static final String DBUSER = "root" ;

// MySQL数据库的连接密码

public static final String DBPASS = "mysqladmin" ;

public static void main(String args[]) throws Exception{// 所有异常抛出

Connection conn = null ;// 数据库连接

PreparedStatement pstmt = null ;

String name = "李兴华" ;

String sql = "INSERT INTO userblob(name,photo) VALUES (?,?) " ;

Class.forName(DBDRIVER) ;// 加载驱动程序

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

pstmt = conn.prepareStatement(sql) ;

File f = new File("d:" + File.separator + "mldn.gif") ;// 图片文件

InputStream input = null ;

input = new FileInputStream(f) ;

pstmt.setString(1,name) ;// 设置第一个“?”的内容

pstmt.setBinaryStream(2,input,(int)f.length()) ;// 设置输入流

pstmt.executeUpdate() ;// 更新数据库

pstmt.close() ;

conn.close() ;// 数据库关闭

}

};

BlobDemo02.java

============================================================
import java.sql.Connection ;

import java.sql.DriverManager ;

import java.sql.SQLException ;

import java.sql.PreparedStatement ;

import java.io.File ;

import java.io.FileOutputStream ;

import java.sql.ResultSet ;

import java.io.InputStream ;

import java.io.InputStream ;

import java.io.OutputStream ;

public class BlobDemo02{

// 定义MySQL的数据库驱动程序

public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;

// 定义MySQL数据库的连接地址

public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;

// MySQL数据库的连接用户名

public static final String DBUSER = "root" ;

// MySQL数据库的连接密码

public static final String DBPASS = "mysqladmin" ;

public static void main(String args[]) throws Exception{// 所有异常抛出

Connection conn = null ;// 数据库连接

PreparedStatement pstmt = null ;

ResultSet rs = null ;

int id = 1 ;

String sql = "SELECT name,photo FROM userblob WHERE id=?" ;

Class.forName(DBDRIVER) ;// 加载驱动程序

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

pstmt = conn.prepareStatement(sql) ;

pstmt.setInt(1,id) ;

rs = pstmt.executeQuery() ;// 执行查询

if(rs.next()){

String name = rs.getString(1) ;

System.out.println("姓名:" + name) ;

InputStream input = rs.getBinaryStream(2) ;

File f = new File("d:" + File.separator + "loadmldn.gif") ;// 图片文件

OutputStream out = null ;

out = new FileOutputStream(f) ;

int temp = 0 ;

while((temp=input.read())!=-1){// 边读边写

out.write(temp) ;

}

input.close() ;

out.close() ;

}

pstmt.close() ;

conn.close() ;// 数据库关闭

}

};

BlobDemo03.java

============================================================
import java.sql.Connection ;

import java.sql.DriverManager ;

import java.sql.SQLException ;

import java.sql.PreparedStatement ;

import java.sql.Blob ;

import java.sql.ResultSet ;

import java.io.File ;

import java.io.FileOutputStream ;

import java.io.InputStream ;

import java.io.InputStream ;

import java.io.OutputStream ;

public class BlobDemo03{

// 定义MySQL的数据库驱动程序

public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;

// 定义MySQL数据库的连接地址

public static final String DBURL = "jdbc:oracle:thin:@10.7.46.206:1521:slyth" ;

// MySQL数据库的连接用户名

public static final String DBUSER = "scott" ;

// MySQL数据库的连接密码

public static final String DBPASS = "tiger" ;

public static void main(String args[]) throws Exception{// 所有异常抛出

Connection conn = null ;// 数据库连接

PreparedStatement pstmt = null ;

ResultSet rs = null ;

String id = "WBHD100006030000003" ;

String sql = "select brfl from pju.tb0005_snimdt_044 t where t.snpccd=?" ;

Class.forName(DBDRIVER) ;// 加载驱动程序

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

pstmt = conn.prepareStatement(sql) ;

pstmt.setString(1,id) ;

rs = pstmt.executeQuery() ;// 执行查询

if(rs.next()){

//String name = rs.getString(1) ;

//System.out.println("姓名:" + name) ;

Blob b = rs.getBlob(1) ;

File f = new File("d:" + File.separator + "loadmldn.gif") ;// 图片文件

OutputStream out = null ;

out = new FileOutputStream(f) ;

out.write(b.getBytes(1,(int)b.length())) ;

out.close() ;

}

pstmt.close() ;

conn.close() ;// 数据库关闭

}

};

ClobDemo01.java

============================================================

import java.sql.Connection ;

import java.sql.DriverManager ;

import java.sql.SQLException ;

import java.sql.PreparedStatement ;

import java.io.File ;

import java.io.FileInputStream ;

import java.io.InputStream ;

public class ClobDemo01{

// 定义MySQL的数据库驱动程序

public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;

// 定义MySQL数据库的连接地址

public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;

// MySQL数据库的连接用户名

public static final String DBUSER = "root" ;

// MySQL数据库的连接密码

public static final String DBPASS = "mysqladmin" ;

public static void main(String args[]) throws Exception{// 所有异常抛出

Connection conn = null ;// 数据库连接

PreparedStatement pstmt = null ;

String name = "李兴华" ;// 表示姓名

String sql = "INSERT INTO userclob(name,note) VALUES (?,?) " ;

Class.forName(DBDRIVER) ;// 加载驱动程序

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

pstmt = conn.prepareStatement(sql) ;// 创建PreapredStatement对象

File f = new File("d:" + File.separator + "mldn.txt") ;

InputStream input = null ;

input = new FileInputStream(f) ;// 通过输入流读取文件

pstmt.setString(1,name) ;

pstmt.setAsciiStream(2,input,(int)f.length()) ;

pstmt.executeUpdate() ;

conn.close() ;// 数据库关闭

}

};

ClobDemo02.java

============================================================
import java.sql.Connection ;

import java.sql.DriverManager ;

import java.sql.SQLException ;

import java.sql.PreparedStatement ;

import java.sql.ResultSet ;

import java.io.File ;

import java.io.FileInputStream ;

import java.io.InputStream ;

import java.util.Scanner ;

public class ClobDemo02{

// 定义MySQL的数据库驱动程序

public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;

// 定义MySQL数据库的连接地址

public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;

// MySQL数据库的连接用户名

public static final String DBUSER = "root" ;

// MySQL数据库的连接密码

public static final String DBPASS = "mysqladmin" ;

public static void main(String args[]) throws Exception{// 所有异常抛出

Connection conn = null ;// 数据库连接

PreparedStatement pstmt = null ;

ResultSet rs = null ;

int id = 1 ;// 读取的编号

String sql = "SELECT name,note FROM userclob WHERE id=? " ;

Class.forName(DBDRIVER) ;// 加载驱动程序

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

pstmt = conn.prepareStatement(sql) ;// 创建PreapredStatement对象

pstmt.setInt(1,id) ;

rs = pstmt.executeQuery() ;

if(rs.next()){

String name = rs.getString(1) ;

StringBuffer note = new StringBuffer() ;

System.out.println("姓名:" + name) ;

InputStream input = rs.getAsciiStream(2) ;

Scanner scan = new Scanner(input) ;// 使用Scanner类读取内容

scan.useDelimiter("\r\n") ;// 将文件换行作为分割符

while(scan.hasNext()){

note.append(scan.next()).append("\n") ;

}

System.out.println("内容:" + note) ;

input.close() ;

}

rs.close() ;

pstmt.close() ;

conn.close() ;// 数据库关闭

}

};

ClobDemo03.java

============================================================
import java.sql.Connection ;

import java.sql.DriverManager ;

import java.sql.SQLException ;

import java.sql.PreparedStatement ;

import java.sql.Clob ;

import java.sql.ResultSet ;

public class ClobDemo03{

// 定义MySQL的数据库驱动程序

public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;

// 定义MySQL数据库的连接地址

public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;

// MySQL数据库的连接用户名

public static final String DBUSER = "root" ;

// MySQL数据库的连接密码

public static final String DBPASS = "mysqladmin" ;

public static void main(String args[]) throws Exception{// 所有异常抛出

Connection conn = null ;// 数据库连接

PreparedStatement pstmt = null ;

ResultSet rs = null ;

int id = 1 ;// 读取的编号

String sql = "SELECT name,note FROM userclob WHERE id=? " ;

Class.forName(DBDRIVER) ;// 加载驱动程序

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

pstmt = conn.prepareStatement(sql) ;// 创建PreapredStatement对象

pstmt.setInt(1,id) ;

rs = pstmt.executeQuery() ;

if(rs.next()){

String name = rs.getString(1) ;

System.out.println("姓名:" + name) ;

Clob c = rs.getClob(2) ;

String note = c.getSubString(1,(int)c.length()) ;

System.out.println("内容:" + note ) ;

c.truncate(100) ;// 只能读100个内容

System.out.println("部分读取内容:" + c.getSubString(1,(int)c.length())) ;

}

rs.close() ;

pstmt.close() ;

conn.close() ;// 数据库关闭

}

};

ClobDemo02.java

============================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息