【问题标题】:How do SQLite data types map to Java?SQLite 数据类型如何映射到 Java?
【发布时间】:2016-08-18 03:54:00
【问题描述】:

SQLite 只有几种数据类型:NULL, INTEGER, REAL, TEXT, BLOB

同时,JDBC 有:

-7  BIT,  
-6  TINYINT,  
-5  BIGINT,  
-4  LONGVARBINARY,  
-3  VARBINARY,  
-2  BINARY,  
-1  LONGVARCHAR, 
0   NULL,  
1   CHAR,  
2   NUMERIC,  
3   DECIMAL,  
4   INTEGER,  
5   SMALLINT,  
6   FLOAT,  
7   REAL,  
8   DOUBLE,  
12  VARCHAR,  
91  DATE,  
92  TIME,  
93  TIMESTAMP,   
1111    OTHER.  
(possibly more)

我在任何地方都找不到 SQLite 特定的 JDBC 驱动程序的任何文档,我需要知道驱动程序如何映射类型。

显然null就是null,
整数是整数(可能),
真实是真实的(可能),
但是 text 和 blob 映射到什么?

【问题讨论】:

  • 有几个 SQLite JDBC 驱动程序。但是有没有可能你的计算机上现在正在运行一个?
  • 我正在通过 IntelliJ IDEA 使用 Xerial 驱动程序。

标签: java sqlite jdbc sqldatatypes


【解决方案1】:

SQLite 使用动态类型。

Xerial 驱动程序结合声明的列类型名称和值的实际类型来确定 JDBC 类型;见implementation of getColumnType()。 如果列的类型名称在以下列表中,您将获得 JDBC 类型,如果实际类型匹配,则

布尔值 小音 小灵通 INT2 大整数 INT8 未签名的大整数 日期 约会时间 INT 整数 中型 十进制 双倍的 双精度 数字 真实的 漂浮 特点 NCHAR 原生字符 CLOB 日期 约会时间 VARCHAR 变化的性格 NVARCHAR 文本 二进制 斑点

否则,您将得到 NULL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    相关资源
    最近更新 更多