简体   繁体   中英

How to Alter table using JOOQ?

Previously I was working with statement but I need to convert it with JOOQ

  Statement dboSt = null; 

dboSt = dboConn.createStatement(); 

I need to know how to change my below lines in JOOQ.

dboSt.executeUpdate("alter login \"" + UserId + "\" with password='" + NewPassword + "'");

dboSt.executeUpdate("alter login \"" + UserId + "\" with password='" + NewPassword + "' old_password='" + OldPassword
                                + "'");

Is there any solution to convert it?

jOOQ doesn't support typesafe DDL (yet). It's been on the roadmap for a while: #883

In the mean time, you can execute plain SQL statements using jOOQ directly, as such:

DSLContext ctx = DSL.using(configuration);

// As before, manually inlining arguments:
ctx.execute("alter login \""+UserId+"\" with password='"+NewPassword+"'");

// Better, letting jOOQ do the string escaping for you, preventing
// syntax errors and SQL injection vulnerabilities:
ctx.execute("alter login {0} with password = {1}",
    DSL.name(UserId),       // org.jooq.Name is rendered with quotes in most DBs
    DSL.inline(NewPassword) // org.jooq.Param is inlined as a (string) literal
);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM