在MySQL-JAVA中连接对象
我使用JOIN将表连接在一起并检索信息。在检索对象之后,我将这些信息添加到一个表中 我的问题是:在MySQL-JAVA中连接对象,java,mysql,eclipse,object,serialization,Java,Mysql,Eclipse,Object,Serialization,我使用JOIN将表连接在一起并检索信息。在检索对象之后,我将这些信息添加到一个表中 我的问题是: "SELECT L.LibPassport AS LibPassport,L.Object as LObject,G.Passport AS GPassport," + "G.Object AS GObject,O.* FROM Orders AS O, Guest AS G, Librarian AS L WHERE O.Passport = G.Passp
"SELECT L.LibPassport AS LibPassport,L.Object as LObject,G.Passport AS GPassport,"
+ "G.Object AS GObject,O.* FROM Orders AS O, Guest AS G, Librarian AS L WHERE O.Passport = G.Passport";
首先,它给了我一个错误,因为未找到列LObject
,然后我将所有更改为仅作为对象
,查询工作顺利,但随后它没有将所有对象添加到列表中
sql的方法如下所示:
public List<Object> getReport() {
List<Object> obj = new ArrayList<Object>();
Object x = null;
String query = "SELECT L.LibPassport AS LibPassport,L.Object as Object,G.Passport AS GPassport,"
+ "G.Object AS Object,O.*,O.Object AS Object FROM Orders AS O, Guest AS G, Librarian AS L WHERE O.Passport = G.Passport";
try {
state = conn.prepareStatement(query);
rs = state.executeQuery();
//Librarian
while(rs.next()) {
ByteArrayInputStream bais = new ByteArrayInputStream(rs.getBytes("Object"));
ObjectInputStream ois = new ObjectInputStream(bais);
x = ois.readObject();
obj.add(x);
ois.close();
bais.close();
}
}catch(SQLException | IOException | ClassNotFoundException ex) {
ex.printStackTrace();
}
return obj;
}
但它并没有得到所有的对象,它要么不访问,要么只访问一个对象。然而,mysql中的同一个查询显示了所有对象
如果您想了解更多详细信息,请告诉我。sql实际上不包含join关键字或对库管理员表的联接。结果集应该是O表和P表中的所有行x Library表中的所有行的叉积。是的,在mysql中执行查询时,所有对象/列/行都会得到结果。但是,当我在eclipse中执行它时,它只会得到两个对象,比如说它的顺序。
if(obj.get(i) instanceof Transaction) {
a = (Transaction) obj.get(i);
fill.add(4,a.getBorrowDate());
fill.add(5,a.getReturnDate());
}