繁体   English   中英

JOOQ 中的索引装订印刷 NULL

[英]Indexed Binding printing NULL in JOOQ

package com.jooq.demo;

import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;

import com.jooq.utils.DBUtils;

import static org.jooq.impl.DSL.*;
import org.jooq.*;
import org.jooq.impl.*;


public class Demo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Connection conn = null;
        conn=DBUtils.getConnection();
        DSLContext create = DSL.using(conn, SQLDialect.MYSQL);

        Query query = create.select(val(1),val(2),val(3),val(4),val(5),val(6),val(7),val(8),val(9),val(10),val(11),val(12))
                            .from(table("T"));
        query.bind(1,"C1");
        query.bind(2,"C2");
        List<Object> val = query.getBindValues();
        System.out.println(val.get(0));

    }

}
Output:-
null

我正在使用 JAVA 8,mysql 连接器版本 5.1.8,JOOQ 版本 3.14.11

它正在 Output 中打印 null。 我期待绑定发生并在 output 中打印 C1。

我的代码有什么错误?

此行为的原因是val(1)val(2)等属于SQLDataType.INTEGER类型,并且您的值"C1"无法转换为该类型。 由于历史原因,转换没有抛出异常,而是静默失败,而是将null绑定值放在那里。

见: https://github.com/jOOQ/jOOQ/issues/3377

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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