Skip to main content

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.");

}

}