• Mysql/SQLServer数据类型与java基本数据类型的对应


    问题描述:

    假如现在你要对mysql数据库进行插入操作。因为要插入很多数据,为了效率,因此,你创建了一个PreparedStatement:insert into table values(?,?,?,?,?)

    其中table表各列的数据类型分别为INTEGER,BIGINT,CHAR,TEXT,BINARY

    现在你要向创建的PreparedStatement中的五个 ? 赋值。你已经知道PreparedStatement类有setBlog()、setBoolean()、setInt()、setDate()、setFloat()等等set方法,但是当你要向一个Mysql数据类型为BINARY的列赋值是,你不知道用PreparedStatement类的哪个set方法,setInt()?setString?还是setBytes()?没错,是setBytes()方法。可是如果mysql类型是decimal呢?是image呢?是bit呢?这个时候,如果你手里有一张Mysql/SQLServer数据类型与java基本数据类型的对应关系的表,那么一切问题都迎刃而解了。

    好了,废话不多说,下面的列表就给出了Mysql/SQLServer数据类型与java基本数据类型的对应,而且给出了用整型表示的列类型和列名。有了这张表,以后调用set方法就有据可循了:

    ****************************************************Mysql *******************************************

    列   ClassName

    ColumnType

    DisplaySize

    TypeName

    0:  java.lang.Integer

    ColumnType:4

    11

    INTEGER

    1:  java.lang.Integer

    ColumnType:-6

    4

    TINYINT

    2:  java.lang.String

    ColumnType:12

    0

    UNKNOWN

    3:  java.lang.Boolean

    ColumnType:-7

    1

    TINYINT

    4:  java.lang.Integer

    ColumnType:5

    6

    SMALLINT

    5:    java.lang.Integer

    ColumnType:4

    9

    MEDIUMINT

    6:    java.lang.Integer

    ColumnType:4

    11

    INTEGER

    7:    java.lang.Long

    ColumnType:-5

    20

    BIGINT

    8:    java.lang.Double

    ColumnType:8

    22

    DOUBLE

    9:    java.lang.Double

    ColumnType:8

    22

    DOUBLE

    10:   java.lang.Float

    ColumnType:7

    12

    FLOAT

    11:   java.lang.String

    ColumnType:12

    11

    UNKNOWN

    12:   java.lang.String

    ColumnType:12

    11

    UNKNOWN

    13:   java.lang.String

    ColumnType:1

    300

    CHAR

    14:   java.lang.String

    ColumnType:12

    300

    VARCHAR

    15:   java.sql.Date

    ColumnType:91

    10

    DATE

    16:   java.sql.Time

    ColumnType:92

    8

    TIME

    17:   java.sql.Date

    ColumnType:91

    4

    YEAR

    18:         java.sql.Timestamp

    ColumnType:93

    19

    TIMESTAMP

    19:         java.sql.Timestamp

    ColumnType:93

    19

    DATETIME

    20:   [B

    ColumnType:-3

    255

    TINYBLOB

    21:   [B

    ColumnType:-4

    65535

    BLOB

    22:   [B

    ColumnType:-4

    16777215

    MEDIUMBLOB

    23:   [B

    ColumnType:-4

    -1

    BLOB

    24: java.lang.String

    ColumnType:12

    255

    TINYBLOB

    25:   java.lang.String

    ColumnType:-1

    65535

    TEXT

    26:   java.lang.String

    ColumnType:-1

    16777215

    MEDIUMBLOB

    27:   java.lang.String

    ColumnType:-1

    -1

    TEXT

    28:   java.lang.String

    ColumnType:1

    3

    CHAR

    29:   java.lang.String

    ColumnType:1

    3

    CHAR

    ****************************************************MSSQL*******************************************

    列   ClassName

    ColumnType

    DisplaySize

    TYPENAME

    0:    java.lang.Integer

    ColumnType:4

    11

    INT IDENTITY

    1:      java.lang.Long

    ColumnType:-5

    20

    BIGINT

    2:      byte[]

    ColumnType:-2

    100

    BINARY

    3:      java.lang.Boolean

    ColumnType:-7

    1

    BIT

    4:    java.lang.String

    ColumnType:1

    10

    CHAR

    5:      java.sql.Timestamp

    ColumnType:93

    23

    DATETIME

    6:      java.sql.Timestamp

    ColumnType:93

    23

    DATETIME

    7:  java.math.BigDecimal

    ColumnType:3

    20

    DECIMAL

    8:      java.lang.Double

    ColumnType:6

    22

    FLOAT

    9:    byte[]

    ColumnType:-4

    2147483647

    IMAGE

    10:java.math.BigDecimal

    ColumnType:3

    21

    MONEY

    11:   java.lang.String

    ColumnType:1

    10

    NCHAR

    12:   java.lang.String

    ColumnType:-1

    1073741823

    NTEXT

    13:java.math.BigDecimal

    ColumnType:2

    20

    NUMERIC

    14:   java.lang.String

    ColumnType:12

    50

    NVARCHAR

    15:   java.lang.Float

    ColumnType:7

    13

    REAL

    16:   java.sql.Timestamp

    ColumnType:93

    16

    SMALLDATETIME

    17:   java.lang.Integer

    ColumnType:5

    6

    SMALLINT

    18:java.math.BigDecimal

    ColumnType:3

    12

    SMALLMONEY

    19:   java.lang.String

    ColumnType:12

    8000

    SQL_VARIANT

    20:   java.lang.String

    ColumnType:-1

    2147483647

    TEXT

    21:   byte[]

    ColumnType:-2

    16

    TIMESTAMP

    22:   java.lang.Integer

    ColumnType:-6

    3

    TINYINT

    23:   java.lang.String

    ColumnType:1

    36

    UNIQUEIDENTIFIER

    24: byte[]

    ColumnType:-3

    100

    VARBINARY

    25:   java.lang.String

    ColumnType:12

    50

    VARCHAR

  • 相关阅读:
    flush table with read lock的轻量级解决方案
    Linux进程关系(转载)
    常用的linux系统监控命令
    MySQL 5.7 InnoDB缓冲池NUMA功能支持——但是别高兴的太早
    网站收集ing....
    【转】程序设计语言中的 一等公民,二等公民,三等公民
    sbt修改为阿里云镜像
    java 中的原始类型与原始封装类型
    【转】MySql中row_number()、rank()、dense_rank() 的区别
    WPS_word使用
  • 原文地址:https://www.cnblogs.com/kane1990/p/2293227.html
Copyright © 2020-2023  润新知