Cómo importar la conexión jdbc mysql en la página jsp
Agregue el paquete jar mysql a la biblioteca del proyecto y luego escriba la información del enlace jdbc. A continuación se proporcionan una variedad de métodos de enlace, espero que le sean útiles
JDBC. conexión a MySQL
Cargar y registrar el controlador JDBC
Class.forName("com.mysql.jdbc.driver");
Class.forName(" com.mysql .jdbc.Driver").newInstance();
JDBC?URL? define la conexión entre el controlador y la fuente de datos
Sintaxis estándar:
< .Protocolo (protocolo de comunicación primario)>:
Formato de URL JDBC de MySQL:
jdbc.mysql//[nombre de host][:puerto]/[nombre de base de datos][?param1=valor1][¶m2=valor2]....
Ejemplo: jdbc:mysql://localhost: 3306/ sample_db?user=root&password=your_password
Parámetros comunes:
Nombre de usuario
Contraseña ¿Se debe volver a conectar (verdadero/falso)
maxReconnect?El número de intentos de reconexión
inicialTimeoutEl intervalo entre los intentos de reconexión
maxRowsDevuelve líneas máx.
useUnicode ¿Se debe utilizar la codificación de fuente Unicode (verdadero/falso)?
characterEncoding? ¿Qué codificación usar (GB2312/UTF-8/...
relaxAutocommit si se debe enviar automáticamente (verdadero/falso)
reviseAutocommit si se debe enviar automáticamente enviar automáticamente (verdadero/falso)
initialTimeout El intervalo de tiempo para intentar volver a conectarse
maxRows devuelve el máximo.
Enviar (verdadero/falso)
capitalizeTypeNames pone en mayúscula el nombre de la definición de datos
Crear objeto de conexión
String?url="jdbc:mysql://localhost :3306 /sample_db?user= root&password=your_password";
Connection?con?=?DriverManager.getConnection(url);
Construir el objeto declarativo SQL (Statement?Object)
Declaración?stmt?=?con.createStatement();
Ejecutar declaración SQL
executeQuery()
Cadena?query?=?con." seleccionar? *?de?prueba";
ResultSet?rs=stmt.executeQuery(consulta);
ResultSet ResultSet
mientras(rs.next() )
{rs.getString(1) ;rs.getInt(2);}
executeUpdate()
String?upd="insertar?en? prueba? (id,nombre)?valores(1001,xuzhaori)";
int?con=stmt.executeUpdate(upd);
ResultSet?executeUpdate(upd); p>
ejecutar()
Ejemplo:
intenta
{
}
catch( SQLException? sqle)
{
}
Finalmente
{
}
¿Tipos Java y tipos SQL? Manual técnico P421
PreparedStatement
PreparedStatement?setString(2,name);
Nota: Después de configurar el valor del parámetro de una declaración, puede ejecutar la declaración varias veces, hasta que se llama al método clearParameters() para borrarlo. CallableStatement (procedimiento prealmacenado) Manual técnico P430
Uso de JDBC2.0
El objeto ResultSet mueve el cursor hacia arriba y hacia abajo libremente
Statement?stmt?= ?con.createStatement ?(ResultSet.TYPE_SCROLL_SENSITIVE,?ResultSet.CONCUR_READ_ONLY);
ResultSet?rs=stmt.executeQuery("select?*?from?test"); ?Statement?createStatement (int?resultSetType,int?resultSetConcuttency)?throws?SQLException
resultSetType
TYPE_ FORWARD_ONLY Solo se puede utilizar el método next().
TYPE_SCROLL_SENSITIVE puede moverse hacia arriba y hacia abajo y obtener el valor modificado.
TYPE_SCROLL_INSENSITIVE puede moverse hacia arriba y hacia abajo.
resultSetConcuttency
CONCUR_READ_ONLY de solo lectura
El objeto CNCUR_UPDATABLEResultSet puede realizar la adición, modificación y eliminación de la base de datos
Utilice directamente el objeto ResultSet para realizar actualizar datos
Agregar datos
Statement?stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet?uprs=stmt.executeQuery( "¿seleccionar?
uprs.moveToInsertRow();
uprs.updateInt(1,1001);
uprs.updateString(2, "XuZhaoDi");
uprs.insertRow;
UpdateData
Statement?createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_PUDATABLE);
ResultSet?uprs= stmt.executeQuery ("seleccionar?*?de?prueba");
uprs.last();
uprs.updateString("nombre", "www.5itjob.com" );
uprs.updateRow;
DeleteData
Statement?stmt = con.createStatement(ResultSet.TYPE_ SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet?uprs=stmt.executeQuery("select?*?from?test");
uprs.absolute(4)
uprs.deleteRow(); /p>
Procesamiento por lotes
con.setAutoCommit(false);?Desactivar el modo de confirmación automática
Statement?stmt=con.createStatement();
int[ ]?rows;
stmt.addBatch("insertar?en?test?values(1001,xuzhaori) ");
stmt.addBatch("insertar?en ?test?values (1002,xuyalin)");
rows=stmt.executeBatch();
con.commit();? Sin error, ejecute el procesamiento por lotes stmt.executeBatch ();
Fuente de datos JNDI y grupo de conexiones
¿Configuración de la fuente de datos JDBC de Tomcat? Manual técnico P439
Herramienta de grupo de conexiones-Proxool?Var?0.8.3?Manual técnico P446
Configuración de web.xml
312"? >-->
xmlns:xsi="/xml/ns/j2ee/web- app_2_4.xsd" version="2.4"> .... El puerto de estadísticas de backend agrega el siguiente contenido AdminServlet ....proxool.driver-url=jdbc :mysql://localhost:3306/sample_db?user=root&password=browser&.maximum-connection-count=10 jdbc-0.proxool.prototype-count=4 jdbc -0.proxool.house-keeping-test-sql=select?CURRENT_DATE jdbc-0.proxool.verbose=true jdbc-0.proxool.statistics=10s,1m ,Agregue esta línea a la interfaz de estadísticas backend 1d jdbc-0.proxool.statistics-log-level=DEBUG Usar grupo de conexiones Proxool ¿Conexión? con ?=?DriverManager.getConnection("proxool.JSPBook"); Statement?stmt?=?con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,?ResultSet.CONCUR_UPDATABLE); Cadena ? consulta?=?"SELECCIONAR?*?DESDE?empleado"; Conjunto de resultados?