留言板

Obtener Conexion BD

Alberto Domínguez Gómez,修改在15 年前。

Obtener Conexion BD

Junior Member 帖子: 56 加入日期: 08-9-10 最近的帖子
Hola a tod@s

Estoy adaptando el portlet journal y necesito hacer una select para obtener la última versión de un artículo. La duda es cómo puedo obtener la conexión con la BD para poder realizar mi select.

¿Cual es la mejor forma de obtener la conexión con la BD (mysql) y poder realizar la consulta que necesito?

Espero que me haya explicado bien.

Saludos.
thumbnail
Pablo David Romero,修改在15 年前。

RE: Obtener Conexion BD

Junior Member 帖子: 28 加入日期: 08-8-12 最近的帖子
par apoder realizar consultas ... podes utilizar los servicios q te brinda liferay

aca te pongo un ejemplo


*
import com.liferay.portal.kernel.dao.jdbc.DataAccess;
import com.sun.rowset.CachedRowSetImpl;
*

static private void Conectar() {
try {
if (con == null){
con =DataAccess.getConnection();
stmt = con.createStatement();

}
if (con.isClosed()){
con =DataAccess.getConnection();
stmt = con.createStatement();
} //System.out.println("\n Conectados: "+usando+"\n");
} catch (Exception e) {
System.out.println("Se produjo un error inesperado en la Conection: " + con + e.getMessage());
}
}

/**
* @param sql
* @return
*/
static public CachedRowSetImpl consultaDB(String sql) {
try {
Conectar();
CachedRowSet crs = new CachedRowSetImpl();
ResultSet resultSet = stmt.executeQuery(sql);
crs.populate(resultSet);
rs = (CachedRowSetImpl )crs;
}
catch (SQLException ex) {
// Mostramos toda la informacion sobre el error disponible
System.out.println("Error: SQLException");
while (ex != null) {
System.out.println("SQL: " + sql);
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("Mensaje: " + ex.getMessage());
ex = ex.getNextException();
}
}

return rs;
}


saludos
Pablo
thumbnail
Anais Anais Anais,修改在14 年前。

RE: Obtener Conexion BD

Regular Member 帖子: 143 加入日期: 09-11-4 最近的帖子
hola pablo Consulta.. si yo quiero utilizar un formulario donde quiero acceder a los datos de mi bd, en donde iria ese codigo???
muchas gracias emoticon
thumbnail
Sebastián Gurin,修改在12 年前。

RE: Obtener Conexion BD

Junior Member 帖子: 75 加入日期: 07-6-13 最近的帖子
Hola Pablo, tu mensaje me fue de utilidad. Estoy portlets sencillos utilizando consultas sql directas como tu propones, pero me encuentro con un problema. A los minutos de trabajar con el portlet en cuestión, en liferay 5.2.3 resulta que el portal deja de responder al menos la parte web. Muy extraño y sólo me pasa cuando tengo instalado el portlet que hace las consultas sql utilizando DataAccess.getConnection() , así que concluyo que algo debo estar haciendo mal. Algunas preguntas:

¿ cuál es la forma adecuada de trabajar con el object Connection devuelto por DataAccess.getConnection() ?

es decir, ¿no te preocupas por cerrar los objetos Statements y result set con close()? ¿debes tratar siempre de utilizar el mismo objeto connection o debes cerrarlo y crearlo cada vez que vas a hacer una consulta?

y otra pregunta, ¿es necesario utilizar los objetos CachedRowSet, o puedo trabajar directamente con los objetos jdbc java.sql.ResultSet, etc?

gracias de antemano, y se agradece también cualquier sugerencia sobre el problema q yo estoy teniendo
thumbnail
Jonatan Oyola,修改在15 年前。

RE: Obtener Conexion BD

Regular Member 帖子: 193 加入日期: 07-6-6 最近的帖子
Porque no utilizas el metodo dynamicQuery de JournalArticleLocalServiceUtil.

Saludos
Alberto Domínguez Gómez,修改在15 年前。

RE: Obtener Conexion BD

Junior Member 帖子: 56 加入日期: 08-9-10 最近的帖子
Gracias por las respuestas,

Me han sido de gran ayuda.

Saludos.
Alberto Domínguez Gómez,修改在15 年前。

RE: Obtener Conexion BD

Junior Member 帖子: 56 加入日期: 08-9-10 最近的帖子
Hola Jonatan,

me podrías poner algún ejemplo de cómo utilizar el método dynamicQuery, es decir, como le digo la sentencia SQL que quiero ejecutar.

Gracias y un Saludo.