2016-11-02 7 views
1

Я использую jOOQ для генерации операторов SQL. Как создать инструкцию insert? Я могу сгенерировать оператор select, но я не могу сгенерировать инструкцию insert. Я могу создать отборное заявление так:Инструкция Jooq insert без генерации кода

String selectSQL = create.select().from("author").getSQL(); 

Как я могу создать оператор SQL для вставки

try { 
     Class.forName("com.mysql.cj.jdbc.Driver"); 
     dbConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/library?autoReconnect=true&useSSL=false","root","abcd"); 
     DSLContext create = DSL.using(dbConnection,SQLDialect.MYSQL); 
     String SQl = create.insertInto(Table<?> table("author"), Field<Object> field("id"),Field<Object> field("first_name").Field<Object> field("last_name")).values("1", "askdfj", "kdjvk").getSQL(); 

    } 

ответ

1

Вам нужно использование:

create 
    .insertInto(table("author"), field("id"), field("first_name"), field("last_name")) 
    .values("1", "askdfj", "kdjvk") 

Где table и field - статический импорт org.jooq.impl.DSL.table и org.jooq.impl.DSL.field.

Обратите внимание, что ваш код имел несколько синтаксических ошибок (например Table<?> и Field<Object>, где они не принадлежат, и . вместо ,).

-1

На официальном док у вас есть example

create.insertInto(AUTHOR, 
    AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) 
    .values(100, "Hermann", "Hesse"); 
+0

Это пример генерации кода, но здесь op использует динамический/нетипизированный вариант. –

Смежные вопросы