Search in sources :

Example 6 with Book

use of org.jooq.example.db.h2.tables.Book in project SimpleFlatMapper by arnaudroger.

the class Example_One_To_Many method authorsAndBooksAndBookStore.

@Test
public void authorsAndBooksAndBookStore() throws SQLException {
    // All we need to execute a query is provide it with a connection and then
    // call fetch() on it.
    Tools.title("Selecting authorsAndBooksAndBookStore");
    JdbcMapper<Tuple2<AuthorRecord, List<Tuple2<BookRecord, List<BookToBookStoreRecord>>>>> mapper = JdbcMapperFactory.newInstance().addKeys("ID", "BOOK_STORE_NAME").newMapper(new TypeReference<Tuple2<AuthorRecord, List<Tuple2<BookRecord, List<BookToBookStoreRecord>>>>>() {
    });
    try (ResultSet rs = DSL.using(connection()).select(AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, AUTHOR.DATE_OF_BIRTH, BOOK.ID, BOOK.TITLE, BOOK_TO_BOOK_STORE.BOOK_STORE_NAME, BOOK_TO_BOOK_STORE.STOCK).from(AUTHOR).leftJoin(BOOK).on(BOOK.AUTHOR_ID.eq(AUTHOR.ID)).leftJoin(BOOK_TO_BOOK_STORE).on(BOOK_TO_BOOK_STORE.BOOK_ID.eq(BOOK.ID)).orderBy(AUTHOR.ID).fetchResultSet()) {
        mapper.stream(rs).forEach(Tools::print);
    }
}
Also used : Tuple2(org.jooq.lambda.tuple.Tuple2) ResultSet(java.sql.ResultSet) Tools(org.jooq.academy.tools.Tools) BookToBookStoreRecord(org.jooq.example.db.h2.tables.records.BookToBookStoreRecord) Test(org.junit.Test)

Example 7 with Book

use of org.jooq.example.db.h2.tables.Book in project SimpleFlatMapper by arnaudroger.

the class Example_One_To_Many method authorsAndBooks.

@Test
public void authorsAndBooks() throws SQLException {
    // All we need to execute a query is provide it with a connection and then
    // call fetch() on it.
    Tools.title("Selecting authorsAndBooks");
    JdbcMapper<Tuple2<AuthorRecord, List<BookRecord>>> mapper = JdbcMapperFactory.newInstance().addKeys("id").newMapper(new TypeReference<Tuple2<AuthorRecord, List<BookRecord>>>() {
    });
    try (ResultSet rs = DSL.using(connection()).select(AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, AUTHOR.DATE_OF_BIRTH, BOOK.ID, BOOK.TITLE).from(AUTHOR).leftJoin(BOOK).on(BOOK.AUTHOR_ID.eq(AUTHOR.ID)).orderBy(AUTHOR.ID).fetchResultSet()) {
        mapper.stream(rs).forEach(Tools::print);
    }
}
Also used : Tuple2(org.jooq.lambda.tuple.Tuple2) ResultSet(java.sql.ResultSet) Tools(org.jooq.academy.tools.Tools) BookRecord(org.jooq.example.db.h2.tables.records.BookRecord) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)5 Record3 (org.jooq.Record3)3 Author (org.jooq.example.db.h2.tables.Author)3 Book (org.jooq.example.db.h2.tables.Book)3 BookStore (org.jooq.example.db.h2.tables.BookStore)3 BookToBookStore (org.jooq.example.db.h2.tables.BookToBookStore)3 BookRecord (org.jooq.example.db.h2.tables.records.BookRecord)3 ResultSet (java.sql.ResultSet)2 DSLContext (org.jooq.DSLContext)2 Tools (org.jooq.academy.tools.Tools)2 Tuple2 (org.jooq.lambda.tuple.Tuple2)2 Connection (java.sql.Connection)1 Properties (java.util.Properties)1 BasicDataSource (org.apache.commons.dbcp.BasicDataSource)1 Configuration (org.jooq.Configuration)1 ConnectionProvider (org.jooq.ConnectionProvider)1 JSONFormat (org.jooq.JSONFormat)1 Settings (org.jooq.conf.Settings)1 AuthorRecord (org.jooq.example.db.h2.tables.records.AuthorRecord)1 BookToBookStoreRecord (org.jooq.example.db.h2.tables.records.BookToBookStoreRecord)1