java程序中怎样从数据库的一张表中随机提取几条数据?

java程序中怎样从数据库的一张表中随机提取几条数据?,第1张

1. 用select count(*)得到总记录条数t;

2. 用分页查找,用随机数Random得到一个0<x<t的x数,然后分页的分页数和分页量都用x

3.该分页查找得到的就是一个随机的记录。

4.循环1-3步骤,直到得到希望数量的随机记录。

写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!

[java] view plain copy

package edu.thu.keyword.test  

  

import java.io.File  

import java.io.InputStreamReader  

import java.io.BufferedReader  

import java.io.BufferedWriter  

import java.io.FileInputStream  

import java.io.FileWriter  

  

public class cin_txt {  

    static void main(String args[]) {  

        try { // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw  

  

            /* 读入TXT文件 */  

            String pathname = "D:\\twitter\\13_9_6\\dataset\\en\\input.txt" // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径  

            File filename = new File(pathname) // 要读取以上路径的input。txt文件  

            InputStreamReader reader = new InputStreamReader(  

                    new FileInputStream(filename)) // 建立一个输入流对象reader  

            BufferedReader br = new BufferedReader(reader) // 建立一个对象,它把文件内容转成计算机能读懂的语言  

            String line = ""  

            line = br.readLine()  

            while (line != null) {  

                line = br.readLine() // 一次读入一行数据  

            }  

  

            /* 写入Txt文件 */  

            File writename = new File(".\\result\\en\\output.txt") // 相对路径,如果没有则要建立一个新的output。txt文件  

            writename.createNewFile() // 创建新文件  

            BufferedWriter out = new BufferedWriter(new FileWriter(writename))  

            out.write("我会写入文件啦\r\n") // \r\n即为换行  

            out.flush() // 把缓存区内容压入文件  

            out.close() // 最后记得关闭文件  

  

        } catch (Exception e) {  

            e.printStackTrace()  

        }  

    }  

}

public void inithavesold(){//建立查询已销售商品表格、模型

try {

Vector<String>columnName = new Vector<String>()//字段名

Vector<Vector<Object>>dataVector = new

Vector<Vector<Object>>()//存储所有数据,里面每个小的Vector是存单行的

columnName.add("编号")

columnName.add("商品名")

columnName.add("数量")

columnName.add("价格")

columnName.add("总盈利")

conn = DataBase.getconnection()

stmt = conn.createStatement()

rs = stmt.executeQuery("select * from havesold")

while(rs.next()){

Vector<Object>vec = new Vector<Object>()//就是这个存单行的,最后放到上面的大的Vector里面

for(int i=1i<=5i++){

vec.add(rs.getObject(i))

}

dataVector.add(vec)

}

tmhavesold = new DefaultTableModel()//建立默认的JTable模型

tmhavesold.setDataVector(dataVector, columnName)//设定模型数据和字段

DataBase.free(conn, stmt, rs)

} catch (SQLException e) {

e.printStackTrace()

}

jtable.setModel(tmhavesold)

}


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

原文地址: http://outofmemory.cn/sjk/9934948.html

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

发表评论

登录后才能评论

评论列表(0条)

保存