Application Development with MariaDB Connector/C++
MariaDB Connector/C++ enables C++ applications to establish client connections to MariaDB database products over TLS.
Build Your Application with Connector/C++
When you build a C++ application, your compiler must link your application with the MariaDB Connector/C++ shared library.
The following g++ (GNU GCC) command demonstrates how to link an application with the MariaDB Connector/C++ shared library using the -lmariadbcpp argument:
$ g++ -o example example.cpp -std=c++11 -lmariadbcpp
If you are not using the g++ compiler, please consult your compiler's manual.
Header Files
MariaDB Connector/C++ includes several header files. In some cases, developers might find it useful to inspect the MariaDB Connector/C++ header files to view the definitions of classes, functions, and methods.
The header files:
- Contain the definitions of classes, functions, and methods in the
sql
namespace.
- Are installed to the
/usr/include/mariadb/conncpp/
directory by default on Linux.
C++ applications developed using MariaDB Connector/C++ must include the conncpp.hpp
header file.
When a C++ application includes conncpp.hpp
, the application will automatically include other header files that are included by conncpp.hpp
:
CallableStatement.hpp
Connection.hpp
DatabaseMetaData.hpp
Driver.hpp
DriverManager.hpp
Exception.hpp
jdbccompat.hpp
ParameterMetaData.hpp
PreparedStatement.hpp
ResultSet.hpp
ResultSetMetaData.hpp
Savepoint.hpp
SQLString.hpp
Statement.hpp
Types.hpp
Warning.hpp
Classes
MariaDB Connector/C++ implements many different classes.
Most C++ applications developed using MariaDB Connector/C++ will use some of the following classes:
Class | Description |
---|---|
sql::Connection | Establish a connection to a MariaDB database product. A Connection can be closed by calling close() , or there is an implicit close when using a smart pointer. |
sql::DatabaseMetaData | Provides detailed information about the database metadata, such as database name, version, schemas, tables, columns, procedures, and support for various features. |
sql::Driver | Implements the non-static connect() method, which is a connection method. |
sql::DriverManager | Implements the static getConnection() method, which is a connection method. |
sql::PreparedStatement | Execute a query that contains variable text. Prepared statements can be used to sanitize input. Therefore, using prepared statements reduces the risk of SQL injection attacks. A PreparedStatement can be closed by calling close() , or there is an implicit close when using a smart pointer. By default, the connector will use client-side prepared statements. To use server-side prepared statements, set the useServerPrepStmts optional connection parameter to true . |
sql::ResultSet | Fetch query results. A ResultSet can be closed by calling close() , or there is an implicit close when using a smart pointer. |
sql::ResultSetMetaData | Provides detailed information about a result set, such as schema name, table name, column names and types, and column attributes; whether a column is auto increment, and nullable. |
sql::Statement | Execute a query that does not contain variable text. A Statement can be closed by calling close() , or there is an implicit close when using a smart pointer. |