java mysql resultset count_让java从Mysql返回多个ResultSet

@Test

public void test01() throws SQLException, ClassNotFoundException {

String DBDRIVER = "com.mysql.jdbc.Driver";

String DBURL = "jdbc:mysql://localhost:3306/bookstore?allowMultiQueries=true";

String DBUSER = "root";

String DBPASS = "root";

Connection conn = null;

Class.forName(DBDRIVER);

conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);

System.out.println(conn);

String sql = "SELECT * FROM category;"

+"SELECT * FROM user;" ;

Statement stmt = conn.createStatement();

boolean isResultSet = stmt.execute(sql);

ResultSet rs = null;

int count = 0;

while(true) {

if(isResultSet) {

rs = stmt.getResultSet();

while(rs.next()) {

System.out.println(rs.getString(1));

}

rs.close();

} else {

if(stmt.getUpdateCount() == -1) {

break;

}

System.out.printf("Result {} is just a count: {}", count, stmt.getUpdateCount());

}

count ++;

isResultSet = stmt.getMoreResults();

}

stmt.close();

conn.close();

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Java窗体显示MySQL数据,可以使用Java Swing提供的JTable组件来实现。以下是实现步骤: 1. 导入MySQL数据库驱动包 在项目中引入MySQL数据库的驱动包,可以使用JDBC连接MySQL数据库。 2. 连接MySQL数据库 使用JDBC连接MySQL数据库,创建一个Connection对象。 3. 查询MySQL数据库数据 使用JDBC执行SQL语句,查询需要显示的数据,并将结果保存在ResultSet对象中。 4. 将查询结果转换为二维数组 遍历ResultSet对象,将查询结果转换为一个二维数组。 5. 创建JTable组件 使用JTable组件显示查询结果,创建一个JTable对象并将二维数组作为参数传入。 6. 将JTable组件添加到窗体中 使用Java Swing提供的容器组件,如JFrame、JPanel等,将JTable组件添加到窗体中。 以下是示例代码: ```java import java.sql.*; import javax.swing.*; import java.awt.*; public class DisplayTable extends JFrame { private JTable table; public DisplayTable() { setTitle("Display Table"); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 连接MySQL数据库 try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password"); // 查询MySQL数据库数据 Statement stmt = con.createStatement(); String query = "SELECT * FROM mytable"; ResultSet rs = stmt.executeQuery(query); // 将查询结果转换为二维数组 int rowCount = 0; while (rs.next()) { rowCount++; } rs.beforeFirst(); ResultSetMetaData rsmd = rs.getMetaData(); int columnCount = rsmd.getColumnCount(); Object[][] data = new Object[rowCount][columnCount]; int i = 0; while (rs.next()) { for (int j = 0; j < columnCount; j++) { data[i][j] = rs.getObject(j + 1); } i++; } // 创建JTable组件 table = new JTable(data, getColumnNames(rsmd)); // 将JTable组件添加到窗体中 JScrollPane scrollPane = new JScrollPane(table); getContentPane().add(scrollPane, BorderLayout.CENTER); // 关闭MySQL数据库连接 rs.close(); stmt.close(); con.close(); } catch (Exception ex) { ex.printStackTrace(); } } // 获取查询结果的列名 private String[] getColumnNames(ResultSetMetaData rsmd) throws SQLException { int columnCount = rsmd.getColumnCount(); String[] columnNames = new String[columnCount]; for (int i = 1; i <= columnCount; i++) { columnNames[i - 1] = rsmd.getColumnName(i); } return columnNames; } public static void main(String[] args) { DisplayTable frame = new DisplayTable(); frame.setVisible(true); } } ``` 在以上示例代码中,需要将“mydatabase”和“mytable”替换为实际使用的数据库和表名,将“root”和“password”替换为实际的MySQL数据库用户名和密码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值