Working with a Table Result Set
How to retrieve information from a database.
Code Samples
See the Java environment settings for details on setting the project environment.
ResultSetExample.java
The following code sample illustrates how to get work with tabular encrypted data.
/*****************************************************************************************
*
* ResultSetExample.java
*
******************************************************************************************/
import com.eruces.teagent.TEAgentConnection;
import com.eruces.teagent.TEAgentConnectionFactory;
import com.eruces.teagent.TEAgentException;
import com.eruces.teagent.TEAgentResultSet;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class ResultSetExample {
private static final String ksServ = "sampleserver";
private static final int ksPort = 8888;
private static final String ksUser = "ls";
private static final String ksPass = "password1A";
private static TEAgentConnection conn;
private static TEAgentResultSet teResultSet;
public static void PrintResultSet(ResultSet rs) throws SQLException {
int cols;
rs.beforeFirst();
ResultSetMetaData rsmd = rs.getMetaData();
cols = rsmd.getColumnCount();
while (rs.next()) {
for (int i = 1; i <= cols; i++) {
if (i > 1) System.out.print(", ");
System.out.print(rs.getString(i));
}
System.out.println("");
}
}
public static void main(String args[]) throws SQLException, TEAgentException {
// http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html
conn = TEAgentConnectionFactory.getConnection(TEAgentConnectionFactory.SECURE_USER_PASSWORD);
conn.open(ksServ, ksPort, ksUser, ksPass);
teResultSet = new TEAgentResultSet(TEAgentResultSet.ENCRYPTION);
teResultSet.attachConnection(conn);
System.out.println("User \"" + ksUser + "\" connected to " + ksServ + ":" + ksPort + " as an administrator.");
try {
System.out.println("Loading driver...");
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver loaded!");
}
catch (ClassNotFoundException e) {
throw new RuntimeException("Cannot find the driver in the classpath!", e);
}
String strServ = "jdbc:mysql://10.60.2.42:3306/keydb";
String strUser = "root";
String strPass = "password1A";
Connection j_conn = DriverManager.getConnection(strServ, strUser, strPass);
Statement stmt = j_conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery("SELECT te_principal, te_user FROM te_SRPPrincipalInfo");
teResultSet.setHiddenLinkColumnName("hls");
teResultSet.setDataSet(rs);
System.out.println("SERVER: " + teResultSet.getServer());
System.out.println("DATABASE: " + teResultSet.getDatabase());
System.out.println("TABLE: " + teResultSet.getTableName());
System.out.println("TYPE: " + teResultSet.getType());
PrintResultSet(rs);
teResultSet.encrypt();
ResultSet result_rs = teResultSet.getDataSet();
PrintResultSet(result_rs);
teResultSet.setType(TEAgentResultSet.DECRYPTION);
teResultSet.decrypt();
result_rs = teResultSet.getDataSet();
PrintResultSet(result_rs);
teResultSet.detachConnection();
conn.close();
System.out.println("User \"" + ksUser + "\" disconnected from " + ksServ + ":" + ksPort + " as an administrator.");
}
}