Java怎么输出一个表格

Java怎么输出一个表格,第1张

用java输出数据库表 示例:

import java.awt.BorderLayout

import java.awt.Color

import java.awt.Font

import java.beans.Statement

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.util.Vector

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JScrollPane

import javax.swing.JTable

public class Stmessege1 extends JFrame {

private static final long serialVersionUID = 1L

private JTable table// 声明表格

void Stmessege11() {

setSize(460, 320)

setVisible(true)

}

public Vector getDataVector() throws SQLException, ClassNotFoundException {

Connection conn = null

java.sql.Statement stmt = null

Class.forName("com.mysql.jdbc.Driver")

String dburl = "jdbc:mysql://localhost:3306/hp"

String dbuser = "root"

String dbpassword = "19920102"

conn = DriverManager.getConnection(dburl, dbuser, dbpassword)

stmt = conn.createStatement()

String sql = "select* from xsgli"

ResultSet rs = stmt.executeQuery(sql)

Vector dataVector = new Vector()

while (rs.next()) {

Vector rowVector = new Vector()

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

if (i == 2 || i == 4) {

rowVector.add(String.valueOf(rs.getInt(i)))

} else {

rowVector.add(rs.getString(i))

}

}

dataVector.add(rowVector)

}

return dataVector

}

public Vector getColumnVector() {

Vector columnVector = new Vector()

columnVector.add("姓名")

columnVector.add("学号")

columnVector.add("性别")

columnVector.add("班级")

columnVector.add("系别")

columnVector.add("成绩")

columnVector.add("专业")

return columnVector

}

public Stmessege1() throws SQLException, ClassNotFoundException {

super()

setTitle("学生学籍数据显示")

setBounds(100, 100, 382, 223)

// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

Connection conn = null

Statement stmt = null

Class.forName("com.mysql.jdbc.Driver")

String dburl = "jdbc:mysql://localhost:3306/hp"

String dbuser = "root"

String dbpassword = "19920102"

conn = DriverManager.getConnection(dburl, dbuser, dbpassword)

java.sql.Statement st = conn.createStatement()

String sql = "select* from xsgli"

ResultSet rs = st.executeQuery(sql)

Vector columnVector = getColumnVector()

Vector dataVector = getDataVector()

final JScrollPane scrollPane = new JScrollPane()

getContentPane().add(scrollPane, BorderLayout.CENTER)

table = new JTable(dataVector, columnVector)

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)

scrollPane.setViewportView(table)

}

}

package 数据库测试

import java.sql.*

/**

* @author qingsongwang

* @2008.11.16

*

* 说明:实现与数据库相连,取出数据库的内容显示

*/

public class JDBCTest

{

//主函数main()

public static void main(String[] args) throws Exception

{

String kongge=new String(" ")

//为后面的结果集输出好看点

Class.forName("com.mysql.jdbc.Driver")

//驱动

Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/greatwqs?user=root&password=greatwqs")

/*连接数据库,jdbc:mysql://localhost:3306/greatwqs 数据库为greatwqs数据库

* 端口为3306

*

* 用户名user=root

*

* 用户密码password=greatwqs

*/

Statement stmt=conn.createStatement()

//创建SQL语句,实现对数据库的 *** 作功能

ResultSet rs=stmt.executeQuery("select * from person")

//返回查询的结果

while(rs.next())

{

System.out.print(rs.getString("id")+kongge)

System.out.print(rs.getString("name")+kongge)

System.out.print(rs.getString("gender")+kongge)

System.out.print(rs.getString("major")+kongge)

System.out.print(rs.getString("phone")+kongge)

System.out.println()

}//输出结果集的内容

rs.close()

stmt.close()

conn.close()

//关闭语句,结果集,数据库的连接.

}

}

我运行的结果如下

你的问题思路我帮你整理一下:

你说到要分页,那你去取数据库的时候,只是去取分页数据的大小,也就是你说的10条数据.

至于使用什么来装数据,可以参考1楼朋友的方法.

翻页其实就是点一个按钮去查询下一组10条数据来显示,你只要传递当前页的数据ID和要查询的数据范围[10条],然后在SQL语句中进行判断即可.

还有个最简单,也是最笨的方法,如果你是数据不是很多的话[3000条以内],

可以讲数据全部显示在表格里面,将你不需要的隐藏,点下一页的时候,再显示下一页面的内容,隐藏上一页的内容.例如:

你查询到100条数据,只要显示1-10条,那就将11-100条记录disable,然后点下一页,将1-10,21-100条记录disable,11-20条记录显示,类推...

不过油缺点,如果数据太多,会影响性能....建议少用.

具体的分页可以再百度或者Google找一些,很多.


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存