Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo almacenar el tiempo cuando Spring usa jdbctemplate para implementar la inserción por lotes

Cómo almacenar el tiempo cuando Spring usa jdbctemplate para implementar la inserción por lotes

1. En primer lugar, la interfaz java.sql.Connection proporciona tres métodos para generar automáticamente claves primarias después de ejecutar la instrucción de inserción:

Copiar código

/ El primero es

PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) arroja SQLException;

Entre ellos, autoGenerateKeys tiene dos valores opcionales: Statement.RETURN_GENERATED_KEYS, Statement.NO_GENERATED_KEYS.

// El segundo es

PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException

// El tercero es

PreparedStatement prepareStatement(String sql, String[] columnNames) lanza SQLException;

Copiar código

Copiar código

//Insertar instancias de personas en lotes , Devuelve cada valor de clave principal del registro insertado

public int[] insert(List people) throws SQLException{

String sql = "insertar en valores de test_table(nombre) ( ?)" ;

int i = 0 ;

int rowCount = personas.size() ;

int[] claves = nuevo int[rowCount]

DataSource ds = SimpleDBSource.getDB()

Conexión conn = ds.getConnection() ;

// Obtener el nombre de la columna de clave principal generada automáticamente Valor clave

String[] columnNames= {"id"} ;

PreparedStatement pstmt = conn.prepareStatement(sql, columnNames);

Persona p = null ;

for (i = 0 ; i < rowCount ; i++){

p = personas.get(i) ;

pstmt.setString(1, p.getName())

pstmt.addBatch();

}

pstmt.executeBatch()

/Get; el conjunto de resultados de valores de clave primaria generados automáticamente

ResultSet rs = pstmt.getGeneratedKeys()

ResultSet rs = pstmt.getGeneratedKeys()

ResultSet; rs = pstmt.getGeneratedKeys()getGeneratedKeys() ;

mientras(rs.next() && i < rowCount){

claves[i] = rs.getInt(1) ;

i++ ;

}

claves de retorno ;

}

Copiar código

.