preload db queries

revert-70aa11f8
ayyoob 8 years ago
parent 44ac6b13b5
commit 0f66c90660

@ -41,11 +41,17 @@ public class DeviceTypePluginDAO {
private static final Log log = LogFactory.getLog(DeviceTypePluginDAO.class);
private DeviceTypeDAOHandler deviceTypeDAOHandler;
private DeviceDAODefinition deviceDAODefinition;
private String selectDBQueryForGetDevice;
private String createDBqueryForAddDevice;
private String updateDBQueryForUpdateDevice;
private String deleteDBQueryToRemoveDevicd;
private String selectDBQueryToGetAllDevice;
public DeviceTypePluginDAO(DeviceDAODefinition deviceDAODefinition,
DeviceTypeDAOHandler deviceTypeDAOHandler) {
this.deviceTypeDAOHandler = deviceTypeDAOHandler;
this.deviceDAODefinition = deviceDAODefinition;
initializeDbQueries();
}
public Device getDevice(String deviceId) throws DeviceTypeMgtPluginException {
@ -55,9 +61,7 @@ public class DeviceTypePluginDAO {
ResultSet resultSet = null;
try {
conn = deviceTypeDAOHandler.getConnection();
String selectDBQuery = "SELECT " + getDeviceTableColumnNames() + " FROM " +
deviceDAODefinition.getDeviceTableName() + " WHERE " + deviceDAODefinition.getPrimaryKey() + " = ?";
stmt = conn.prepareStatement(selectDBQuery);
stmt = conn.prepareStatement(selectDBQueryForGetDevice);
stmt.setString(1, deviceId);
resultSet = stmt.executeQuery();
@ -96,10 +100,7 @@ public class DeviceTypePluginDAO {
PreparedStatement stmt = null;
try {
conn = deviceTypeDAOHandler.getConnection();
String createDBQuery = "INSERT INTO " + deviceDAODefinition.getDeviceTableName() + "("
+ deviceDAODefinition.getPrimaryKey() + " , " + getDeviceTableColumnNames() + ") VALUES ("
+ getPreparedInputString(deviceDAODefinition.getColumnNames().size() + 1) + ")";
stmt = conn.prepareStatement(createDBQuery);
stmt = conn.prepareStatement(createDBqueryForAddDevice);
stmt.setString(1, device.getDeviceIdentifier());
int columnIndex = 2;
for (String columnName : deviceDAODefinition.getColumnNames()) {
@ -131,11 +132,7 @@ public class DeviceTypePluginDAO {
PreparedStatement stmt = null;
try {
conn = deviceTypeDAOHandler.getConnection();
String updateDBQuery = "UPDATE " + deviceDAODefinition.getDeviceTableName() + " SET "
+ getDeviceTableColumnNamesForUpdateQuery()+ " WHERE " + deviceDAODefinition.getPrimaryKey()
+ " = ?";
stmt = conn.prepareStatement(updateDBQuery);
stmt = conn.prepareStatement(updateDBQueryForUpdateDevice);
int columnIndex = 1;
for (String columnName : deviceDAODefinition.getColumnNames()) {
stmt.setString(columnIndex, getPropertString(device.getProperties(), columnName));
@ -166,9 +163,7 @@ public class DeviceTypePluginDAO {
PreparedStatement stmt = null;
try {
conn = deviceTypeDAOHandler.getConnection();
String deleteDBQuery = "DELETE FROM " + deviceDAODefinition.getDeviceTableName()
+ " WHERE " + deviceDAODefinition.getPrimaryKey() + " = ?";
stmt = conn.prepareStatement(deleteDBQuery);
stmt = conn.prepareStatement(deleteDBQueryToRemoveDevicd);
stmt.setString(1, deviceId);
int rows = stmt.executeUpdate();
if (rows > 0) {
@ -197,9 +192,7 @@ public class DeviceTypePluginDAO {
List<Device> devices = new ArrayList<>();
try {
conn = deviceTypeDAOHandler.getConnection();
String selectDBQuery = "SELECT " + getDeviceTableColumnNames() + " FROM "
+ deviceDAODefinition.getDeviceTableName();
stmt = conn.prepareStatement(selectDBQuery);
stmt = conn.prepareStatement(selectDBQueryToGetAllDevice);
resultSet = stmt.executeQuery();
while (resultSet.next()) {
device = new Device();
@ -254,4 +247,23 @@ public class DeviceTypePluginDAO {
}
return null;
}
private void initializeDbQueries() {
selectDBQueryForGetDevice = "SELECT " + getDeviceTableColumnNames() + " FROM " +
deviceDAODefinition.getDeviceTableName() + " WHERE " + deviceDAODefinition.getPrimaryKey() + " = ?";
createDBqueryForAddDevice = "INSERT INTO " + deviceDAODefinition.getDeviceTableName() + "("
+ deviceDAODefinition.getPrimaryKey() + " , " + getDeviceTableColumnNames() + ") VALUES ("
+ getPreparedInputString(deviceDAODefinition.getColumnNames().size() + 1) + ")";
updateDBQueryForUpdateDevice = "UPDATE " + deviceDAODefinition.getDeviceTableName() + " SET "
+ getDeviceTableColumnNamesForUpdateQuery()+ " WHERE " + deviceDAODefinition.getPrimaryKey()
+ " = ?";
deleteDBQueryToRemoveDevicd = "DELETE FROM " + deviceDAODefinition.getDeviceTableName()
+ " WHERE " + deviceDAODefinition.getPrimaryKey() + " = ?";
selectDBQueryToGetAllDevice = "SELECT " + getDeviceTableColumnNames() + " FROM "
+ deviceDAODefinition.getDeviceTableName();
}
}
Loading…
Cancel
Save