Tag: 结果集

从方法返回到新对象时,原始resultSet会发生什么?

伪代码可以更好地解释我的自我。 我现在正在学习Java。 如果我有方法 public resultSet getEverything() { resultSet rs = blabla; return rs } 我不能rs.close()因为我需要在我检索它的方法中使用它,因此我将使用它,并且可能’关闭’我创建的新resultSet。 从前一个resultSet发生了什么? 它是否被垃圾收集器收集? 当我关闭’new’resultSet时它会自动关闭吗? 它对代码效率/性能有任何影响吗? 任何反馈都会非常感激:)因为这让我有点困惑。 它更像是一个OOP问题,而不是我认为的Java。 谢谢!

从多个线程读取相同的ResultSet

在数据库中,我有一个定义表,在启动时从应用程序中读取一次。 这个定义表很少改变,所以读取它一次并在每次更改时重新启动它都是有意义的。 但是,在读取表(放入ResultSet)之后,将由在其自己的线程中运行的多个处理程序读取它。 您如何建议完成此任务? 我的想法是填充CachedRowSet,然后在每次新请求到来时为每个处理程序创建此集合的副本(通过createCopy()方法)。 你认为这是明智的吗? 这提供了良好的表现吗? 谢谢。

期待多个ResultSet,但只获得一个

我有一个存储过程,它返回多个结果集,如下所示, create proc test as begin select ‘1’ select a,b into #temp from TABLE1 select * from #temp select ‘2’ select ‘Done’ end 我的java调用是, CallableStatement stmt = null; String procString= “EXEC test”; stmt = conn.prepareCall(procString); boolean results = stmt.execute(); System.out.println(results); do { if(results) { rs = stmt.getResultSet(); while (rs.next()) { System.out.println(rs.getString(1) + “, ” ); […]

在Java中将多个ResultSet合并到单个ResultSet中

假设我有多个ResultSet(每个resultSet都会引用数据库中的1行)(它们是同一个表。)。 现在我想创建合并的ResultSet,实习生将拥有所有其他resultSet。 所以我的主要目标是创建一个组合的ResultSet,它将指向以前由各个resultSet指向的所有行。 我正在使用Java。 有人知道我们能够实现这一目标吗? 编辑:我们正在使用java.sql.ResultSet 。 编辑:使其更清晰: 我想说 List someResults ; // each resultSet Would point to a single row in database. 我想创建一个合并的ResultSet finalResults; psudo代码: List resultSets = // poppulated from code ResultSet rs = convert(resultSets) // psude conver method

JDBC ResultSet对象类型映射没有Byte还是Short? 为什么只有Integer?

美好的一天。 任何人都可以解释为什么JDBC没有为某些类型实现对象映射。 例如,Postgres JDBC没有字节和短映射。 我可以得到原始字节和短字,但在对象格式中我只能得到整数。 这是源代码 case Types.TINYINT: case Types.SMALLINT: case Types.INTEGER: return getInt(columnIndex); 字节和短对象类型有什么问题? 我如何使用TINYINT,SMALLINT等。 实现与getInt类似的getByte和getShort有什么问题

将数据库记录存储到列表中

如何将数据库记录放入ArrayList? 我想在jsp文件中查看它。 但是,ArrayList中所有对象的值与我选择的数据库中的最后一条记录相同。 我在我的项目中有这些代码: IPBean.java public class IPBean { private String ip; private String userName; private String password; private int maxRetry; public String getIp() { return ip; } protected void setIp(String ip) { this.ip = ip; } public String getUserName() { return userName; } protected void setUserName(String userName) { this.userName = userName; } public String […]

如何在.JSP文件中显示列表?

经过一个小时的扎实研究,我仍然无法做到这一点。 这是我的Servlet代码: package com.fdm.ProjectWeb.RedirectServlets; import java.awt.List; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; import javax.naming.spi.DirStateFactory.Result; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.jsp.jstl.sql.ResultSupport; import com.fdm.ProjectWeb.Controller.ValidateRegisterInputController; import com.fdm.ProjectWeb.Model.OraclePullListOfUsers; import com.fdm.ProjectWeb.Model.OracleUserManagement; public class VerifyRedirect extends HttpServlet { private static final long serialVersionUID = 1L; public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ OraclePullListOfUsers […]

比较jdbc中的结果集

在我的java代码中,我有两个结果集rs1和rs2获得如下: rs1 = statement.executeQuery(“select * from tableA”) rs2 = statement.executeQuery(“select * from tableB”) 两个表都具有相同的模式,包括字段ID,名称和地址,我想比较两个结果集。 我可以直接做rs1 == rs2吗? 如果没有我应该如何比较两个结果集? 一些例子将非常感激。 谢谢

如何确定获得的Java ResultSet是否为空?

Class.forName(“org.sqlite.JDBC”); Connection conn = DriverManager.getConnection(“jdbc:sqlite:userdata.db”); Statement stat = conn.createStatement(); ResultSet rs = stat.executeQuery(“SELECT * from table WHERE is_query_processed = 0;”); int rowcount = rs.getRow(); System.out.println(“Row count = “+rowcount); // output 1 rs.first(); // This statement generates an exception 为什么会这样?

如何将ResultSet对象转换为一个特定的POJO类对象?

例如,我有一个Resultset,其中包含有关员工详细信息的详细信息,我在数据库中有一个表For Employee,我从中选择所有详细信息 我有一个类似于Employee Table的java POJO类,它是将转换结果集实现为Employee类对象的最佳方法 如果我有多个类,如Employee和多个表,那么实现的最佳方法是什么,如何编写可重用的代码。 我现在使用以下符号。 public Employee{ private int empId; public setEmpId(int empId){ this.empId = empId; } public int getEmpId(){ return this.empId; } } public class SetResultSetToEmployee{ public Employee getEmployee(){ Employee e = new Employee(); e.setEmpId(resultSet.getInt(“EmpId”)); return e; } }