jdbc - Resumen del problema de excepción de Mysql

1 、 java.sql.SQLException: antes del inicio del conjunto de resultados

El motivo de esta excepción de SQL es que no hay ningún método ***. Next () antes;
cuando ***. Next () se ejecuta por primera vez, la posición del cursor está en la primera posición de la tabla, lo que significa está en un vacío Pero si no hay ***. next (), esta posición está vacía y los datos de la tabla no se pueden leer.

Nota: Generalmente, se usa el bucle while. Si se usa el bucle for (), es probable que ocurra este tipo de problema. Debido a que el bucle for ejecuta el método ***. Next () al final, causará SQLException en la primera consulta.

2. La eliminación por lotes de SQL especial y la consulta difusa no pueden utilizar la asignación de marcador de posición

delete form t_user where id in (?)                                     x
select * from t_user where username like '%?%'               x

Motivo: al asignar valores a datos de tipo cadena mediante marcadores de posición, se añaden automáticamente comillas simples a ambos lados de la cadena.

3. Primero, al crear un objeto precompilado, establezca una constante, Statement.Return_GENERATED_KEYS (valor 1), que se puede pasar a través del objeto precompilado ps.getGeneratedKey

rs.next ();
rs.getInt ();

4. Procesamiento por lotes

(1) Agregar un parámetro en la URL

  • rewriteBatchedStatements=true
    
  • 那么我们的url就变成了  jdbc:mysql://localhost:3306/test?rewriteBatchedStatements=true
    
  • 这里的?,表示?后面是客户端给服务器端传的参数,多个参数直接使用&分割
    

5. Si Idea abre el código en el paquete jar agregado más tarde, el método de implementación muestra el comentario del código compilado, lo que indica que el código fuente no está compilado.

Inserte la descripción de la imagen aquí
Se requiere la siguiente configuración en este momento:
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_38705144/article/details/110671856
Recomendado
Clasificación