linux怎么查看本机内存大小
248
2022-10-13
网盘进化史就这样(下)——功能实现
version: '2' services: utils-mongodb: image: mongo:4.0.2 ports: - "27017:27017" volumes: - ~/volumes/jhipster/utils/mongodb/:/data/db/ restart: always
准备工作完成之后,我们接下来是开始网盘功能的简单开发了,在jHipster中,对象之间的关系可以通过JDLJHipster Domain Language来表达,其表达方式比较简单,这个就是一个简单的网盘逻辑关系设计
entity UploadFile { uploadTime String } entity DownloadFile { name String downloadTime String count Instant } relationship OneToOne { UploadFile{name} to DownloadFile } // Set pagination options paginate * with infinite-scroll paginate * with pagination dto * with mapstruct // Set service options to all except few service all with serviceImpl // Set an angular suffix angularSuffix * with smallestpan
设计完成之后使用命令jHipster import-jdl ./jdl/p1.jdl 对该文件进行编译,执行,至于具体原理本文不作深入分析,下次有机会再说:)执行之后是需要生成数据库mapper层来完成对数据的自动写入读出功能./gradew build
@Service public class FileServiceImpl implements FileService { @Override public Object upload(Object object) { return null; } @Override public Object download(Object object) { return null; } }
这里我们主要使用spring-cloud框架中的Grid这个组件,实现ORM的功能,完成对mongodb数据库的写入写出,提高我们的开发效率,不过这样做从一定程度上降低代码的运行效率,这个优化思路并不是本文介绍内容
@Service public class GridfsService { @Autowired private MongoDbFactory mongodbfactory; /** * 插入文件 * @param file * @return */ public GridFSInputFile save(MultipartFile file){ GridFS gridFS = new GridFS(mongodbfactory.getLegacyDb()); try{ InputStream in = file.getInputStream(); String name = file.getOriginalFilename(); GridFSInputFile gridFSInputFile = gridFS.createFile(in); gridFSInputFile.setFilename(name); gridFSInputFile.setContentType(file.getContentType()); gridFSInputFile.save(); return gridFSInputFile; } catch (Exception e){} return null; } /** * 据id返回文件 */ public GridFSDBFile getById(ObjectId id){ DBObject query = new BasicDBObject("_id", id); GridFS gridFS = new GridFS(mongodbfactory.getLegacyDb()); GridFSDBFile gridFSDBFile = gridFS.findOne(query); return gridFSDBFile; } /** * 删除 * @param id */ public void remove(String id) { GridFS gridFS = new GridFS(mongodbfactory.getLegacyDb()); gridFS.remove(new ObjectId(id)); } public void setMongodbfactory(MongoDbFactory mongodbfactory) { this.mongodbfactory = mongodbfactory; } }
代码仅供参考,不妨来个star:https://github.com/Yerikshu/smallestpan谢啦~~
文章参考:jHipster官方网站:https://jhipster.techGrid介绍:https://baeldung.com/spring-data-mongodb-gridfs
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~