java上传文件通过mybatis存储到数据库的BLOB格式中
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上传文件通过mybatis存储到数据库的BLOB格式中
HTML 页面需要设置一个文件框
[html]view plaincopy
1.
上传操作方法:
[java]view plaincopy
1.public int doUpload() throws Exception {
2.
3. Map
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.
22.return dao.insert("mapper_id", param);
23. }
mapper文件对应的sql设置
[html]view plaincopy
1.
2. INSERT INTO DEMO
3. (ID,FILE)
4. VALUES
5. (#{ID}, #{FILE,jdbcType=BLOB}) --此处需要加上jdbcType=BLOB
6.
通过MyBatis实现图片数据的存储与读取
开发环境:
Mybatis:3.0.5
MySQL:5.x
1. 数据库Scheme
--
-- Table structure for table `user_graphic_t`
--
DROP TABLE IF EXISTS `user_graphic_t`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `user_graphic_t` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`graphic_data` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=360 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
2. Mapper文件
id,graphic_data
INSERT INTO user_graphic_t (
)
values (
#{id},,#{graphicData}
)
SELECT
fromuser_graphic_t WHERE
id=#{id}
order by id desc
3. 映射VO:
public class UserGraphicVo {
private Long id;
private byte[] graphicData;
//get/set方法
}
4. DAO层调用