mysql表里面搞个longblob字段保存word
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都网站设计、陆良网络推广、小程序开发、陆良网络营销、陆良企业策划、陆良品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供陆良建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
代码:
1)上传
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url ="jdbc:mysql://localhost/test?user=rootpassword=rootuseUnicode=truecharacterEncoding=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省略
大概思路,自己完善
mysql是数据库系统,它的文件是不需要用户显式去管理的,是由数据库管理程序来管理,所以都是自动保存文件,而不需要手动完成,用户从安全和数据一致性的角度来说,也不需要来管理和保存文件。
笔者是在ubuntu环境下测试的:首先创建一个查询语句的文件 如query.sql(名字你自己取),内容大致如下:use datebase_name; //不解释了吧select xxx from table where where-condition....; //就是一个你需要查询的语句保存好,现在开始操作:#mysql -h 服务器ip地址 -u 用户名 -p密码 -P 端口 query.sql 输出的文件名demo: mysql -h 127.0.0.1 -u root -p 1234 -P 3300 query.sql /home/michael/test.txt好了,现在你可以在对应的目录中找到你想要的文件了。
mysql tee F:\php_demo\mysql\sqltext.txt
Logging to file 'F:\php_demo\mysql\sqltext.txt'
退出
mysql notee
Outfile disabled.
mysql \T F:\php_demo\mysql\sqltext.txt
Logging to file 'F:\php_demo\mysql\sqltext.txt'
退出
mysql \t
Outfile disabled.