java实现相片的手动排列功能

问题描述

如我有一个相薄,这个相薄里面有很多张相片,当我点击这个相薄时列出了它的所有相片,这时我要对这些相片进行手动排序,同时排序结果要存入到数据庫中,请教怎么实现呢?问题补充:谢谢waterdh,您说的思路很对,但现在问题是我想在页面上有个“向上”和“向下”的按键,点击这两个按键时就要显示页面效果即更换上下两行(通过javascript实现),这时还没有将排序结果插入DB,等我所有的相片都排序ok之后再通过点击一个“储存更新”按键来更新DB;问题补充:wangxin0072000 说得也不错,可是这样没有立即显示页面效果啊!问题补充:llade 或许没明白我的意思,我是先排序在页面同步显示排序效果,而此时还没有将排序结果插入数据庫,最后等我都排好了才插入的数据庫。(就类似javaeye blog的分类管理一样,有个上移和下移的按键,而javaeye blog的分类管理是每一次上移和下移都同步更新了数据庫然后再从数据庫里面查了一次数据,这样如果说我有1000甚至说上万的相片的话,那这样每次都重新查一次数据庫不是代价很大!!!)嗯,不过现在我已经实现我想要的效果了,谢谢各位帮忙!!

解决方案

相册的排序字段,记录下相册的所有相片id,比如:12,15,1,4,9显示的时候,根据这几个id列表来获取相片内容,sql类似于 select * from xxx where id in(12,15,1,4,9) order by find_in_set('id','12,15,1,4,9')如果没有类似find_in_set这样的sql函数支持,那就自己写个简单算法排序下。如果对这写相片手动排序,比如在相片下面提供左移或者右移的按钮,按了以后算一下,重新生成新的id列表,更新到相册排序字段。思路就是这样的,具体算法自己动动脑筋吧。
解决方案二:
忍不住说两句,既然数据库都支持排序的功能,为什么还要排序然后重新插入数据库呢?假如你有1000张相片,每张600k,那么1000张就有600m,你好不容易把它们放进数据库,整个过程可能要5分钟吧。现在又要再来一次这样的痛苦过程。数据库为了排序查找开发出索引这样的功能。这样做不是扬长避短,而是舍长就短啊。
解决方案三:
在数据库表中建一个字段标示顺序,比如order。从数据库取出的时候order by order把数据库中得到的数据存放在List当中,之后对这个list中的数据进行排序,即修改order这个字段。之后再把这些数据存进去。

时间: 2024-10-31 10:55:21

java实现相片的手动排列功能的相关文章

Java 8无人谈及的八大功能

时间戳锁 一直以来,多线程代码是服务器开发人员的毒药(问问Oracle的Java语言架构师和并行开发大师Brian Goetz).Java的核心库不断加入各种复杂的用法来减少访问共享资源时的线程等待时间.其中之一就是经典的读写锁(ReadWriteLock),它让你把代码分成两部分:需要互斥的写操作和不需要互斥的读操作. 表面上看起来很不错.问题是读写锁有可能是极慢的(最多10倍),这已经和它的初衷相悖了.Java 8引入了一种新的读写锁--叫做时间戳锁.好消息是这个家伙真的非常快.坏消息是它使

微信-我用java做了几个小功能,想放到公众号上可以访问,现在不知道怎么办了,请帮助,能留下QQ最好

问题描述 我用java做了几个小功能,想放到公众号上可以访问,现在不知道怎么办了,请帮助,能留下QQ最好 用jsp做的几个小功能,想要在微信订阅号上可以访问,求帮助,能留下QQ最好,谢谢了 解决方案 申请公众号 我同学是用jfinal开发的

图片-用Java怎么实现查找价格区间功能?

问题描述 用Java怎么实现查找价格区间功能? 定义的gPrice是String类型,可以改动,怎么才能做出价格区间的查找呢? 解决方案 你输入的内容最后转换成了String,应该直接转成double类型, double price=sc.nextDouble. for(int i = 0 ; i <list.size() ; i++){ Goods g = list.get(i); //把g.gPrice转换成double类型 double gPrice = Double.valueOf(g.

c# 客户端 调用 java Webservice 实现图片上传功能

问题描述 c# 客户端 调用 java Webservice 实现图片上传功能 no SOAPAction header c#端添加服务引用 生成实体类 直接调用webservice图片上传方法 结果报错**no SOAPAction header** 解决方案 有没有大神 来帮帮忙 解决方案二: 参考这个:http://blog.csdn.net/wxyong3/article/details/38727503

java怎么实现类似HTTPWatch的功能,打开url地址后请求的资源

问题描述 java怎么实现类似HTTPWatch的功能,打开url地址后请求的资源 目前很多浏览器都有这样的功能,在地址栏中输入连接后中可以通过httpwatch,清楚的看到此连接已经请求了多少资源(图片,css,js)等等.想问问高手,如何利用java实现,或者说java有没有这种开源的工具. 想实现的功能如图,我在地址栏中输入www.hao123.com后,可以看到它向服务器进行了很多资源的请求.我想知道的如何通过java来获取这些请求资源.

java 网站上做语音直播功能,用到哪些技术?

问题描述 java 网站上做语音直播功能,用到哪些技术? 用java开发的网站上想做语音直播功能,用到哪些技术?求大神支招,小弟谢谢啦 解决方案 流媒体服务器+客户端播放器,都有现成的软件

io流-求帮忙理解一个JAVA程序,该程序的功能是将次行块风格的代码转换成行尾块

问题描述 求帮忙理解一个JAVA程序,该程序的功能是将次行块风格的代码转换成行尾块 package exercise_9; import java.util.*; import java.io.*; public class Exercise9_16 { /**Main method*/ public static void main(String[] args) throws Exception { // Check command line parameter usage if (args.

Oracle 有导出 CSV 文件的功能,java可以调用Oracle的这个功能吗?

问题描述 大家好,请问Oracle有导出CSV文件的功能,java可以调用Oracle的这个功能吗?如果有如何做?谢谢您的回答,(俺是萝卜) 解决方案 解决方案二:应该要自己写方法的吧,再导出为csv文件.我猜的.呵呵解决方案三:不知道是不是能调用但是我觉得有调用它的那个工夫,自己都写了一个导出CSV的模块了

Java Math 类中的新功能,第 1 部分: 实数

有时候您会对一个类熟悉到忘记了它的存在.如果您能够写出 java.lang.Foo 的文档, 那么 Eclipse 将帮助您自动完成所需的函数,您无需阅读它的 Javadoc.例如,我使用 java.lang.Math(一个我自认为非常了解的类)时就是这样,但令我吃惊的是,我最近偶然 读到它的 Javadoc -- 这可能是我近五年来第一次读到,我发现这个类的大小 几乎翻了一倍,包含 20 种我从来没听说过的新方法.看来我要对它另眼相看了. Java 语言规范第 5 版向 java.lang.M