DML with MariaDB Connector/R2DBC (Native API)
DML Operations
Class
Description
Code Example: INSERT
//Module Imports
import org.mariadb.r2dbc.MariadbConnectionConfiguration;
import org.mariadb.r2dbc.MariadbConnectionFactory;
import io.r2dbc.spi.Connection;
import io.r2dbc.spi.Statement;
import reactor.core.publisher.Mono;
// Main Application Class
public class App {
// Connection Configuration
private static MariadbConnectionConfiguration conf;
private static MariadbConnectionFactory connFactory;
private static Connection conn;
// Main Process
public static void main(String[] args) {
//Initialize Connection Factory
initConnectionFactory();
// Insert a contact
insertContact("John", "Smith", "js@example.com");
}
public static void initConnectionFactory() {
try {
// Configure the Connection
conf = MariadbConnectionConfiguration.builder()
.host("192.0.2.1").port(3306)
.username("db_user").password("db_user_password")
.database("test").build();
// Instantiate a Connection Factory
connFactory = new MariadbConnectionFactory(conf);
}
catch (java.lang.IllegalArgumentException e) {
System.err.println("Issue encountered while getting connection");
e.printStackTrace();
}
}
public static void insertContact(String first_name, String last_name, String email) {
try {
//Initialize a Connection
conn = connFactory.create().block();
// Initialize Statement
Statement stmnt = conn.createStatement(
"INSERT INTO test.contact (first_name, last_name, email) VALUES (?, ?, ?)");
// Bind Values to Statement
stmnt.bind(0, first_name);
stmnt.bind(1, last_name);
stmnt.bind(2, email);
// Execute Statement
Mono.from(stmnt.execute()).subscribe();
}
// Catch Exception
catch (java.lang.IllegalArgumentException e) {
System.err.println("Issue encountered while adding contact");
e.printStackTrace();
} finally {
// Close Connection
conn.close();
}
}
}Code Example: SELECT
Example output:
Last updated
Was this helpful?

