java 数据插入 根据数据库标识 排序

java 数据插入 根据数据库标识 排序,第1张

你在数据库里面增加一个表项叫做index,添加的时候就写:insert into xx value(select max(*) in xxx),...)这样就实现了程序式的sequence,在进行上下的时候修改index即可,如果3要移到1就要先把3移到tmp变量,2移到3,1移到2,然后3再移到1,这是数组实现方式;

还有链表实现方式,就是添加一个next表项,里面存储顺序下一个的id(id是不可或缺的,一个唯一性标示这个你知道吧?可以直接用数据库支持的autoincrease),上下修改的时候就要复杂一些,比如3移到1,首先找到3的前驱2,然后2的next指向4,然后把0的next指向3,;

比较2种方式,数组方式的查找复杂度是O(1),链表是O(n),数组优于链表;

但是数组已知索引的插入复杂度是O(n),链表是O(1),链表比较好;

综上,如果算法基础好可以用链表,水平一般就用数组,另外链表可能还要优化一下,在建表的时候要考虑在额外的配置文件里面存储好头结点。

如果你不清楚一个方法的用法,首先应该想到查API文档啊:

内容如下:

int

executeUpdate(String

sql)

执行给定

SQL

语句,该语句可能为

INSERT、UPDATE

DELETE

语句,或者不返回任何内容的

SQL

语句(如

SQL

DDL

语句)。

-------------------------

但我不理解的是,

rs=stmt.executeQuery("Select

*

From

StuInfo

ORDER

BY

Num")

这已经执行查询了你还用executeUpdate(String

sql)做什么啊?

进行数据更新?

我觉得你下一步应该是输出排序后的字段吧?

while(rs.next()){……}这样吧?

两种方式:

直接在mysql中排序, 查看一下SQL语句的order by 使用

查询出来的数据,利用排序算法,在内存中排序。什么插入排序,冒泡排序,快速排序等等。

个人建议,直接在数据库中排序,简单高效。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6694927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存