1 22 23 package org.xquark.mapper.storage; 24 25 import java.sql.PreparedStatement ; 26 import java.sql.SQLException ; 27 28 import org.xquark.mapper.dbms.AbstractConnection; 29 import org.xquark.mapper.dbms.TableInfo; 30 import org.xquark.mapper.metadata.Node; 31 import org.xquark.mapper.metadata.UOIDManager; 32 33 37 public class StructSaver extends StructPersistentNode 38 { 39 private static final String RCSRevision = "$Revision: 1.1 $"; 40 private static final String RCSName = "$Name: $"; 41 42 public StructSaver(TableInfo tableInfo, UOIDManager manager) 43 { 44 super(tableInfo, manager); 45 initStatements(); 46 } 47 48 protected void initStatements() 49 { 50 insertStmt = "INSERT INTO " + tableInfo.getName() + " VALUES(?, ?, ?, ?)"; 51 } 52 53 public PreparedStatement getStatement(AbstractConnection connection) 54 throws SQLException 55 { 56 if (pStmt == null) 58 pStmt = connection.getConnection().prepareStatement(insertStmt); 59 return pStmt; 60 } 61 62 public PreparedStatement setParameters(Node node) 63 throws SQLException 64 { 65 try 67 { 68 pStmt.setLong(1, manager.buildUDID(docOID)); 69 pStmt.setLong(2, manager.buildUOID(docOID, node.oid)); 70 pStmt.setLong(3, manager.buildUOID(docOID, node.last)); 71 pStmt.setShort(4, node.path); 72 } 73 catch (SQLException e) 74 { 75 pStmt.close(); 76 pStmt = null; 77 throw e; 78 } 79 return pStmt; 80 } 81 } 82 | Popular Tags |