System.out.println("1.Query with EQUAL--------------");
queryWithEqual();
System.out.println("2.Query with IN--------------");
queryWithIn();
dropTable();
}
privatevoidcreateTable()throwsSQLException{
execute("CREATE TABLE IF NOT EXISTS t_order (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_id))");
execute("CREATE TABLE IF NOT EXISTS t_order_item (order_item_id BIGINT NOT NULL AUTO_INCREMENT, order_id BIGINT NOT NULL, user_id INT NOT NULL, PRIMARY KEY (order_item_id))");
}
privatevoidinsertData()throwsSQLException{
Connectionconnection=dataSource.getConnection();
setAutoCommit(connection);
Statementstatement=connection.createStatement();
try{
for(inti=1;i<10;i++){
longorderId=insertAndGetGeneratedKey(statement,"INSERT INTO t_order (user_id, status) VALUES (10, 'INIT')");
statement.execute(String.format("INSERT INTO t_order_item (order_id, user_id) VALUES (%d, 10)",orderId));
orderId=insertAndGetGeneratedKey(statement,"INSERT INTO t_order (user_id, status) VALUES (11, 'INIT')");
statement.execute(String.format("INSERT INTO t_order_item (order_id, user_id) VALUES (%d, 11)",orderId));
}
commit(connection);
}catch(SQLExceptionex){
rollback(connection);
}
finally{
connection.close();
statement.close();
}
}
privatevoidinsertFailure()throwsSQLException{
Connectionconnection=dataSource.getConnection();
setAutoCommit(connection);
Statementstatement=connection.createStatement();
try{
for(inti=1;i<10;i++){
longorderId=insertAndGetGeneratedKey(statement,"INSERT INTO t_order (user_id, status) VALUES (10, 'INIT')");
statement.execute(String.format("INSERT INTO t_order_item (order_id, user_id) VALUES (%d, 10)",orderId));
orderId=insertAndGetGeneratedKey(statement,"INSERT INTO t_order (user_id, status) VALUES (11, 'INIT')");
statement.execute(String.format("INSERT INTO t_order_item (order_id, user_id) VALUES (%d, 11)",orderId));