代码:
1)上传
try {
Class.forName("com.mysql.jdbc.Driver").newInstance()
String url ="jdbc:mysql://localhost/test?user=root&password=root&useUnicode=true&characterEncoding=gbk"
Connection conn = DriverManager.getConnection(url)
Statement stmt = conn.createStatement()
stmt.execute("insert into test(myid) values (5)")
stmt.close()
PreparedStatement pstmt = null
String sql = ""
File file = new File("c:\\kick.jpg")
InputStream photoStream = new FileInputStream(file)
sql = " UPDATE test SET photo = ? WHERE myid = 5"
pstmt = conn.prepareStatement(sql)
pstmt.setBinaryStream(1, photoStream, (int)file.length())
pstmt.executeUpdate()
pstmt.close()
conn.close()
} catch (Exception e) {
e.printStackTrace()
}
2)下载:
PreparedStatement pst = ..... //省略获取Connection及查询的sql
ResultSet rs = pst.executeQuery()
InputStream is = rs.getBinaryStream(1)//1表示你的word字段在结果集中的索引号
FileOutputStream fos = new FileOutputStream("path")
byte [] buf = new byte[1024]
while(is.read(buf)!=-1){
fos.write(buf)
}
//close省略
大概思路,自己完善
对于msSQL,小格式文件可以转为二进制当成文本存储.但word一般都不小,所以一般情况下都直接保存文件,然后在数据库中保存地址.对文件的 *** 作由程序进行.
即使oracle这一类有大文件类型的,其实也是通过流来存储文件,常用于图像文件,很少于用office类型的.
运行mysql 连接到数据库在命令行提示符输入 SHOW FULL FIELDS FROM 【表名 】
把返回的信息复制粘贴到 word
完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)