Para conectar mi base de datos requerida. Estoy planeando usar ConnectionPoolDataSource clase. Pero ¿Cómo puedo establecer los detalles con respecto al nombre de la base de datos (al que quiero que esté conectado) usando esta instancia? Por favor, ayuda en esta ocasión.Conexión usando ConnectionPoolDataSource
Respuesta
tratar de leer this documentación y example
EDITAR
ejemplo que acabamos modificado desde arriba enlaces
pasos preparadas: - Descargar MySQL Server - descarga mySQL java driver - descarga Apache Commons Pool - descarga Commons DBCP - Open Client MySQL como MySQL Workbench y crear base de datos usando comandos siguiente
delimiter $$
CREATE DATABASE `test_stackoverflow` /*!40100 DEFAULT CHARACTER SET utf8 */$$
delimiter $$
CREATE TABLE `test_table` (
`idtest_table` int(11) NOT NULL,
`test_field` varchar(45) DEFAULT NULL,
PRIMARY KEY (`idtest_table`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$
INSERT INTO `test_stackoverflow`.`test_table` (`idtest_table`, `test_field`) VALUES (1, 'test1');
INSERT INTO `test_stackoverflow`.`test_table` (`idtest_table`, `test_field`) VALUES (2, 'test2');
- Crear un proyecto Java, añadir a la ruta de clase, conector myscl, piscina y DBCP (que acaba de descargar todos estos frascos)
añadir siguientes clases
import org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS;
import org.apache.commons.dbcp.datasources.SharedPoolDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
/**
* @author Sergii.Zagriichuk
*/
public class Pool {
private static DataSource ds;
static {
DriverAdapterCPDS cpds = new DriverAdapterCPDS();
try {
cpds.setDriver("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
cpds.setUrl("jdbc:mysql://localhost:3306/test_stackoverflow");
cpds.setUser("root");
cpds.setPassword("root");
SharedPoolDataSource tds = new SharedPoolDataSource();
tds.setConnectionPoolDataSource(cpds);
tds.setMaxActive(10);
tds.setMaxWait(50);
ds = tds;
}
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
nombre de usuario y pase debe ser cambiado a su usuario db/contraseña
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MainClass {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
connection = Pool.getConnection();
// Do work with connection
statement = connection.createStatement();
String selectEmployeesSQL = "select * from test_table";
resultSet = statement.executeQuery(selectEmployeesSQL);
while (resultSet.next()) {
printTestTable(resultSet);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
} // nothing we can do
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
} // nothing we can do
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
} // nothing we can do
}
}
}
private static void printTestTable(ResultSet resultSet) throws SQLException {
System.out.print(resultSet.getInt("idtest_table")+", ");
System.out.print(resultSet.getString("test_field"));
}
}
¡Simplemente ejecute el método principal y verá valores de prueba impresos en la consola!
Puede usar una instancia de DriverAdapterCPDS
. Esto necesitará agregar dos bibliotecas, Apache Commons Pool y Apache Commons DBCP. Es muy útil cuando el controlador que utiliza no incluye una implementación de agrupación de conexiones.
Puede encontrar un ejemplo en http://massapi.com/class/dr/DriverAdapterCPDS.html
- 1. conexión telnet usando PHP
- 2. Conexión JDBC usando diferentes archivos
- 3. Android: conexión HTTPS (SSL) usando HttpsURLConnection
- 4. Conexión EC2 a RDS usando Play framework
- 5. Conexión a Oracle DB usando Ruby
- 6. Conexión a LDAP desde C# usando DirectoryServices
- 7. Mapa sin conexión usando mapsforge en android
- 8. usando App_Data en la cadena de conexión
- 9. Conexión MySQL usando ODBC (5.1) con SSL
- 10. Conexión de C++ con QML usando Q_INVOKABLE
- 11. Mantener la conexión XMPP (usando asmack) activa en Android
- 12. Conexión al Socket TCP desde el navegador usando Javascript
- 13. Conexión SSH a MySQL usando la biblioteca SSH.NET
- 14. Usando la conexión serie de iPhone (pines 12 y 13)
- 15. El establecimiento de una conexión IPv6 usando sockets en python
- 16. Conexión DSN-less con PHP ODBC usando el controlador MDBTools
- 17. Android: mapa sin conexión personalizado usando una imagen
- 18. La conexión TLS usando SSLSocket es lenta en Android OS
- 19. Cómo detecto un corte de conexión usando MessageQueue
- 20. ¿Cómo obtener la conexión de URL usando proxy en java?
- 21. Conexión a la aplicación Rails Postgres DB usando pgAdmin
- 22. Conexión init sin sincronización usando Bluetooth Low Energy en Android
- 23. ¿Cómo probar una clase usando RestTemplate sin conexión?
- 24. ¿Es posible detectar la conexión LTE usando iOS SDK?
- 25. Conexión al gestor de colas remoto usando C# y .Net
- 26. C# y conexión de base de datos remota (usando Compact)
- 27. Chequeo de salud para la conexión de Cassandra (usando hector)?
- 28. ¿Es así como establecer Cadena de conexión contextual usando CloudConfigurationManager?
- 29. Cómo crear una conexión Http usando la clase AsyncTask?
- 30. de conexión a Wi-Fi usando adb shell
u r mensajes eran algo útil. Pero cómo implementar la instancia. Jdbc3PoolingDataSource source = new Jdbc3PoolingDataSource(); –
Es una implementación posterior, si está utilizando otra base de datos, debe usar otra implementación, por ejemplo, hay implementaciones de controlador jdbc para cada motor de base de datos, como postgress, mysql, MS Sql, Oracle, etc. –
Intenta leer el código de edición. –