
net.sf.esfinge.querybuilder.jdbc.JDBCRepository Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of querybuilder-jdbc Show documentation
Show all versions of querybuilder-jdbc Show documentation
The Esfinge QueryBuilder JDBC is the persistence framework for Esfinge QueryBuilder using JDBC.
The newest version!
package net.sf.esfinge.querybuilder.jdbc;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
import net.sf.esfinge.querybuilder.Repository;
import net.sf.esfinge.querybuilder.utils.DataBaseChannel;
import net.sf.esfinge.querybuilder.utils.EntityParser;
import net.sf.esfinge.querybuilder.utils.Query;
import net.sf.esfinge.querybuilder.utils.ServiceLocator;
public class JDBCRepository implements Repository {
private Connection c;
private Class clazz;
private DataBaseChannel channel;
private Object objectForSelectExists;
public JDBCRepository() {
findAndOpenConnection();
}
private void findAndOpenConnection() {
DatabaseConnectionProvider dcp = ServiceLocator
.getServiceImplementation(DatabaseConnectionProvider.class);
c = dcp.getConnection();
channel = new DataBaseChannel(c);
}
@Override
public E save(E obj) {
objectForSelectExists = obj;
Query query = new Query();
if (getById(null) == null) {
query.setCommandType(CommandType.INSERT);
} else {
query.setCommandType(CommandType.UPDATE);
}
query.setObj(obj);
try {
query.buildCommand();
if (!channel.checkConnection()) {
findAndOpenConnection();
}
channel.executeUpdate(query.buildCommand());
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
@Override
public void delete(Object id) {
Query query = new Query();
query.setCommandType(CommandType.DELETE);
try {
query.setObj(clazz.newInstance());
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
}
query.setIdValue(id);
try {
query.buildCommand();
if (!channel.checkConnection()) {
findAndOpenConnection();
}
channel.executeUpdate(query.buildCommand());
} catch (Exception e) {
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
@Override
public List list() {
Query query = new Query();
EntityParser ep = new EntityParser(clazz);
query.setCommandType(CommandType.SELECT_ALL);
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy