Desculpe é que esqueci de falar que tenho uma classe que faz a conexão que é esta aui embaixo, como passo os paramentros para ela:
class BDPublicacaoProvisoria {
private static BDPublicacaoProvisoria instance = null;
private final String SELECT = "SELECT idUsuario, idDisciplinaTurma, idCursoTurma, idPublicacaoTpConteudo, idPublicacaoTpMidia, tituloPublicacao, " +
"dtPublicacao, referencia, descricao, url, idDisciplina, idCurso FROM publicacao WHERE idPublicacao = ?";
private final String SELECT_ALL = "SELECT idPublicacao, idUsuario, idDisciplinaTurma, idCursoTurma, idPublicacaoTpConteudo, idPublicacaoTpMidia, " +
"tituloPublicacao, dtPublicacao, referencia, descricao, url, idDisciplina, idCurso FROM publicacao";
private final String INSERT_CURSO_TURMA = "INSERT INTO publicacao(idPublicacao, idUsuario, idCursoTurma, idPublicacaoTpConteudo, " +
"idPublicacaoTpMidia, tituloPublicacao, dtPublicacao, referencia, descricao, url) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
private final String INSERT_DISCIPLINA_TURMA = "INSERT INTO publicacao(idPublicacao, idUsuario, idDisciplinaTurma, idPublicacaoTpConteudo, " +
"idPublicacaoTpMidia, tituloPublicacao, dtPublicacao, referencia, descricao, url) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
private final String UPDATE = "UPDATE publicacao SET idUsuario = ?, idDisciplinaTurma = ?, idCursoTurma = ?, idPublicacaoTpConteudo = ?, " +
"idPublicacaoTpMidia = ?, tituloPublicacao = ?, dtPublicacao = ?, referencia = ?, descricao = ?, url = ?, idDisciplina = ?, idCurso = ? " +
"WHERE idPublicacao = ?";
private final String DELETE = "DELETE FROM publicacao WHERE idPublicacao = ?";
private final String SELECT_PUBLICACOES = "SELECT idPublicacao, idUsuario, idCursoTurma, idPublicacaoTpConteudo, idPublicacaoTpMidia, " +
"tituloPublicacao, dtPublicacao, referencia, descricao, url, idCurso FROM publicacao WHERE (idDisciplinaTurma = ? OR idDisciplina = ?)";
private final String SELECT_PUBLICACOES_UNIDADEESTUDO = "SELECT p.idPublicacao, idUsuario, idDisciplinaturma, idCursoTurma, idPublicacaoTpConteudo, " +
"idPublicacaoTpMidia, tituloPublicacao, dtPublicacao, referencia, descricao, url, idDisciplina, idCurso " +
"FROM publicacao p, publicacaoUnidadeEstudo pue " +
"WHERE p.idPublicacao = pue.idPublicacao AND pue.idUnidadeEstudo = ?";
private final String SELECT_PUBLICACOES_CURSO_TURMA = "SELECT idPublicacao, idUsuario, idDisciplinaTurma, idPublicacaoTpConteudo, idPublicacaoTpMidia, " +
"tituloPublicacao, dtPublicacao, referencia, descricao, url, idDisciplina " +
"FROM publicacao WHERE (idCursoTurma = ? OR idCurso = ?)";
private final String SELECT_HOUVE_PUBLICACOES = "SELECT idPublicacao FROM publicacao WHERE dtPublicacao > ? AND idCursoTurma = ?";
/** Creates a new instance of BDDefault */
private BDPublicacaoProvisoria() {
}
/**
* Retorna a instancia em memória desta classe
* @return BD
* @throws SQLException
*/
public static BDPublicacaoProvisoria getInstance() throws SQLException {
if (instance == null) {
instance = new BDPublicacaoProvisoria();
}
return instance;
}
/**
* Retorna um bean específico identificado pelo seu ID
* @param long id
* @return Bean
*/
public BeanPublicacao get(long id) throws SQLException {
ConnectionManager conManager = ConnectionManager.getInstance();
Connection conexao = conManager.getConnection("didatixead");
BeanPublicacao beanPublicacao = null;
try {
PreparedStatement ps = conexao.prepareStatement(SELECT);
ps.setLong(1, id);
ResultSet rs = ps.executeQuery();
if(rs.next()) {
long idUsuario = rs.getLong("idUsuario");
long idDisciplinaTurma = rs.getLong("idDisciplinaTurma");
long idCursoTurma = rs.getLong("idCursoTurma");
long idDisciplina = rs.getLong("idDisciplina");
long idCurso = rs.getLong("idCurso");
long idPublicacaoTpConteudo = rs.getLong("idPublicacaoTpConteudo");
long idPublicacaoTpMidia = rs.getLong("idPublicacaoTpMidia");
String tituloPublicacao = rs.getString("tituloPublicacao");
java.sql.Date dtPublicacao = new java.sql.Date(rs.getTimestamp("dtPublicacao").getTime());
String referencia = rs.getString("referencia");
String descricao = rs.getString("descricao");
String url = rs.getString("url");
beanPublicacao = new BeanPublicacao(id, idUsuario, idDisciplinaTurma, idCursoTurma, idPublicacaoTpConteudo,
idPublicacaoTpMidia, tituloPublicacao, dtPublicacao, referencia, descricao, url, idDisciplina, idCurso
);
}
rs.close();
ps.close();
return beanPublicacao;
}
catch (SQLException e) {
throw e;
}
finally {
conManager.freeConnection("", conexao);
}
}
public BeanPublicacao[] getAll() throws SQLException {
ConnectionManager conManager = ConnectionManager.getInstance();
Connection conexao = conManager.getConnection("");
try {
Statement stmt = conexao.createStatement();
ResultSet rs = stmt.executeQuery(SELECT_ALL);
ArrayList lista = new ArrayList();
while(rs.next()) {
long id = rs.getLong("idPublicacao");
long idUsuario = rs.getLong("idUsuario");
long idDisciplinaTurma = rs.getLong("idDisciplinaTurma");
long idCursoTurma = rs.getLong("idCursoTurma");
long idDisciplina = rs.getLong("idDisciplina");
long idCurso = rs.getLong("idCurso");
long idPublicacaoTpConteudo = rs.getLong("idPublicacaoTpConteudo");
long idPublicacaoTpMidia = rs.getLong("idPublicacaoTpMidia");
String tituloPublicacao = rs.getString("tituloPublicacao");
java.sql.Date dtPublicacao = new java.sql.Date(rs.getTimestamp("dtPublicacao").getTime());
String referencia = rs.getString("referencia");
String descricao = rs.getString("descricao");
String url = rs.getString("url");
lista.add(new BeanPublicacao(id, idUsuario, idDisciplinaTurma, idCursoTurma, idPublicacaoTpConteudo,
idPublicacaoTpMidia, tituloPublicacao, dtPublicacao, referencia, descricao, url, idDisciplina, idCurso
)
);
}
rs.close();
stmt.close();
return (BeanPublicacao[]) lista.toArray(new BeanPublicacao[0]);
}
catch (SQLException e) {
throw e;
}
finally {
conManager.freeConnection("", conexao);
}
}
public void insertCurso(BeanPublicacao beanPublicacao) throws SQLException {
ConnectionManager conManager = ConnectionManager.getInstance();
Connection conexao = conManager.getConnection("");
conexao.setAutoCommit(false);
try {
long id = didatixead.util.BDGeral.getInstance().getSerial(conexao, "serialpublicacao");
PreparedStatement ps = conexao.prepareStatement(INSERT_CURSO_TURMA);
ps.setLong(1, id);
ps.setLong(2, beanPublicacao.getIdUsuario());
ps.setLong(3, beanPublicacao.getIdCursoTurma());
ps.setLong(4, beanPublicacao.getIdPublicacaoTpConteudo());
ps.setLong(5, beanPublicacao.getIdPublicacaoTpMidia());
ps.setString(6, beanPublicacao.getTituloPublicacao());
ps.setTimestamp(7, new Timestamp(beanPublicacao.getDtPublicacao().getTime()));
ps.setString(8, beanPublicacao.getReferencia());
ps.setString(9, beanPublicacao.getDescricao());
ps.setString(10, beanPublicacao.getUrl());
ps.executeUpdate();
ps.close();
conexao.commit();
}
catch (SQLException ex) {
ex.printStackTrace();
conexao.rollback();
throw ex;
}
finally {
conexao.setAutoCommit(true);
conManager.freeConnection("", conexao);
}
}
public void insertDisciplina(BeanPublicacao beanPublicacao) throws SQLException {
ConnectionManager conManager = ConnectionManager.getInstance();
Connection conexao = conManager.getConnection("");
conexao.setAutoCommit(false);
try {
long id = didatixead.util.BDGeral.getInstance().getSerial(conexao, "serialpublicacao");
PreparedStatement ps = conexao.prepareStatement(INSERT_DISCIPLINA_TURMA);
ps.setLong(1, id);
ps.setLong(2, beanPublicacao.getIdUsuario());
ps.setLong(3, beanPublicacao.getIdDisciplinaTurma());
ps.setLong(4, beanPublicacao.getIdPublicacaoTpConteudo());
ps.setLong(5, beanPublicacao.getIdPublicacaoTpMidia());
ps.setString(6, beanPublicacao.getTituloPublicacao());
ps.setTimestamp(7, new Timestamp(beanPublicacao.getDtPublicacao().getTime()));
ps.setString(8, beanPublicacao.getReferencia());
ps.setString(9, beanPublicacao.getDescricao());
ps.setString(10, beanPublicacao.getUrl());
ps.executeUpdate();
ps.close();
conexao.commit();
}
catch (SQLException ex) {
ex.printStackTrace();
conexao.rollback();
throw ex;
}
finally {
conexao.setAutoCommit(true);
conManager.freeConnection("didatixead", conexao);
}
}
public void update(BeanPublicacao beanPublicacao) throws SQLException {
ConnectionManager conManager = ConnectionManager.getInstance();
Connection conexao = conManager.getConnection("didatixead");
conexao.setAutoCommit(false);
try {
PreparedStatement ps = conexao.prepareStatement(UPDATE);
ps.setLong(1, beanPublicacao.getIdUsuario());
ps.setLong(2, beanPublicacao.getIdDisciplinaTurma());
ps.setLong(3, beanPublicacao.getIdCursoTurma());
ps.setLong(4, beanPublicacao.getIdPublicacaoTpConteudo());
ps.setLong(5, beanPublicacao.getIdPublicacaoTpMidia());
ps.setString(6, beanPublicacao.getTituloPublicacao());
ps.setTimestamp(7, new Timestamp(beanPublicacao.getDtPublicacao().getTime()));
ps.setString(8, beanPublicacao.getReferencia());
ps.setString(9, beanPublicacao.getDescricao());
ps.setString(10, beanPublicacao.getUrl());
ps.setLong(11, beanPublicacao.getIdDisciplina());
ps.setLong(12, beanPublicacao.getIdCurso());
ps.setLong(13, beanPublicacao.getId());
ps.executeUpdate();
ps.close();
conexao.commit();
}
catch (SQLException ex) {
conexao.rollback();
throw ex;
}
finally {
conexao.setAutoCommit(true);
conManager.freeConnection("", conexao);
}
}
/**
* @param long id
* @throws SQLException
*/
public void delete(long id) throws SQLException {
ConnectionManager conManager = ConnectionManager.getInstance();
Connection conexao = conManager.getConnection("");
conexao.setAutoCommit(false);
try {
PreparedStatement ps = conexao.prepareStatement(DELETE);
ps.setLong(1, id);
ps.executeUpdate();
ps.close();
conexao.commit();
}
catch (SQLException ex) {
conexao.rollback();
throw ex;
}
finally {
conexao.setAutoCommit(true);
conManager.freeConnection("", conexao);
}
}
public BeanPublicacao[] getPublicacoes(long idDisciplinaTurma, long idDisciplina) throws SQLException {
ConnectionManager conManager = ConnectionManager.getInstance();
Connection conexao = conManager.getConnection("");
ArrayList lista = new ArrayList();
try {
PreparedStatement ps = conexao.prepareStatement(SELECT_PUBLICACOES);
ps.setLong(1, idDisciplinaTurma);
ps.setLong(2, idDisciplina);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
long idPublicacao = rs.getLong("idPublicacao");
long idUsuario = rs.getLong("idUsuario");
long idCursoTurma = rs.getLong("idCursoTurma");
long idPublicacaoTpConteudo = rs.getLong("idPublicacaoTpConteudo");
long idPublicacaoTpMidia = rs.getLong("idPublicacaoTpMidia");
String tituloPublicacao = rs.getString("tituloPublicacao");
java.sql.Date dtPublicacao = new java.sql.Date(rs.getTimestamp("dtPublicacao").getTime());
String referencia = rs.getString("referencia");
String descricao = rs.getString("descricao");
String url = rs.getString("url");
long idCurso = rs.getLong("idCurso");
lista.add(new BeanPublicacao(idPublicacao, idUsuario, idDisciplinaTurma, idCursoTurma, idPublicacaoTpConteudo,
idPublicacaoTpMidia, tituloPublicacao, dtPublicacao, referencia, descricao, url, idDisciplina, idCurso
)
);
}
rs.close();
ps.close();
return (BeanPublicacao[]) lista.toArray(new BeanPublicacao[0]);
}
catch (SQLException e) {
throw e;
}
finally {
conManager.freeConnection("", conexao);
}
}
public BeanPublicacao[] getPublicacoesUnidadeEstudo(long idUnidadeEstudo) throws SQLException {
ConnectionManager conManager = ConnectionManager.getInstance();
Connection conexao = conManager.getConnection("");
ArrayList lista = new ArrayList();
try {
PreparedStatement ps = conexao.prepareStatement(SELECT_PUBLICACOES_UNIDADEESTUDO);
ps.setLong(1, idUnidadeEstudo);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
long idPublicacao = rs.getLong("idPublicacao");
long idUsuario = rs.getLong("idUsuario");
long idDisciplinaTurma = rs.getLong("idDisciplinaTurma");
long idCursoTurma = rs.getLong("idCursoTurma");
long idPublicacaoTpConteudo = rs.getLong("idPublicacaoTpConteudo");
long idPublicacaoTpMidia = rs.getLong("idPublicacaoTpMidia");
String tituloPublicacao = rs.getString("tituloPublicacao");
java.sql.Date dtPublicacao = new java.sql.Date(rs.getTimestamp("dtPublicacao").getTime());
String referencia = rs.getString("referencia");
String descricao = rs.getString("descricao");
String url = rs.getString("url");
long idDisciplina = rs.getLong("idDisciplina");
long idCurso = rs.getLong("idCurso");
lista.add(new BeanPublicacao(idPublicacao, idUsuario, idDisciplinaTurma, idCursoTurma, idPublicacaoTpConteudo,
idPublicacaoTpMidia, tituloPublicacao, dtPublicacao, referencia, descricao, url, idDisciplina, idCurso
)
);
}
rs.close();
ps.close();
return (BeanPublicacao[]) lista.toArray(new BeanPublicacao[0]);
}
catch (SQLException e) {
throw e;
}
finally {
conManager.freeConnection("", conexao);
}
}
public BeanPublicacao[] getPublicacoesCurso(long idCursoTurma, long idCurso) throws SQLException {
ConnectionManager conManager = ConnectionManager.getInstance();
Connection conexao = conManager.getConnection("");
ArrayList lista = new ArrayList();
try {
PreparedStatement ps = conexao.prepareStatement(SELECT_PUBLICACOES_CURSO_TURMA);
ps.setLong(1, idCursoTurma);
ps.setLong(2, idCurso);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
long idPublicacao = rs.getLong("idPublicacao");
long idUsuario = rs.getLong("idUsuario");
long idDisciplinaTurma = rs.getLong("idDisciplinaTurma");
long idPublicacaoTpConteudo = rs.getLong("idPublicacaoTpConteudo");
long idPublicacaoTpMidia = rs.getLong("idPublicacaoTpMidia");
String tituloPublicacao = rs.getString("tituloPublicacao");
java.sql.Date dtPublicacao = new java.sql.Date(rs.getTimestamp("dtPublicacao").getTime());
String referencia = rs.getString("referencia");
String descricao = rs.getString("descricao");
String url = rs.getString("url");
long idDisciplina = rs.getLong("idDisciplina");
lista.add(new BeanPublicacao(idPublicacao, idUsuario, idDisciplinaTurma, idCursoTurma, idPublicacaoTpConteudo,
idPublicacaoTpMidia, tituloPublicacao, dtPublicacao, referencia, descricao, url, idDisciplina, idCurso
)
);
}
rs.close();
ps.close();
return (BeanPublicacao[]) lista.toArray(new BeanPublicacao[0]);
}
catch (SQLException e) {
throw e;
}
finally {
conManager.freeConnection("", conexao);
}
}
public boolean houvePublicacoes(long ultimoAcesso, long idCursoTurma) throws SQLException {
ConnectionManager conManager = ConnectionManager.getInstance();
Connection conexao = conManager.getConnection("");
boolean houvePublicacoes = false;
try {
PreparedStatement ps = conexao.prepareStatement(SELECT_HOUVE_PUBLICACOES);
ps.setTimestamp(1, new Timestamp(ultimoAcesso));
ps.setLong(2, idCursoTurma);
ResultSet rs = ps.executeQuery();
if(rs.next()) {
houvePublicacoes = true;
}
rs.close();
ps.close();
return houvePublicacoes;
}
catch (SQLException e) {
throw e;
}
finally {
conManager.freeConnection("", conexao);
}
}
}