fun main()

in documentation-website/Writerside/snippets/exposed-dsl/src/main/kotlin/org/example/App.kt [19:68]


fun main() {
    val h2Db = Database.connect(
        "jdbc:h2:mem:test",
        "org.h2.Driver",
        databaseConfig = DatabaseConfig { useNestedTransactions = true }
    )

    val sqliteDb = Database.connect(
        "jdbc:sqlite:file:test?mode=memory&cache=shared",
        "org.sqlite.JDBC",
        databaseConfig = DatabaseConfig { useNestedTransactions = true }
    )

    val mysqlDb = Database.connect(
        "jdbc:mysql://localhost:3306/test",
        driver = "com.mysql.cj.jdbc.Driver",
        user = "root",
        password = "password",
    )

    transaction(h2Db) {
        addLogger(StdOutSqlLogger)
        createTables()
        runCreateExamples()
        runReadExamples()
        runUpdateExamples()
        runQueryingExamples()
        runAliasExamples()
        runDeleteExamples()
        runBuildStatementExamples()
    }

    transaction(sqliteDb) {
        addLogger(StdOutSqlLogger)
        SchemaUtils.create(StarWarsFilmsIntIdTable)
        // run examples for insertIgnore and insertIgnoreAndGetId
        CreateExamples().insertIgnoreRecords()
    }

    transaction(mysqlDb) {
        addLogger(StdOutSqlLogger)
        SchemaUtils.create(StarWarsFilmsIntIdTable)
        SchemaUtils.create(ActorsIntIdTable)
        runCustomSelectExamples()
        // run examples for deleteIgnoreWhere
        DeleteExamples().deleteIgnore()
        // run examples for joinDelete and joinUpdate
        DeleteExamples().joinDelete()
    }
}