最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談MyBatis所有的jdbcType類型

 更新時間:2023年06月06日 09:33:33   作者:欒還是戀  
在Mybatis中JdbcType類型是一個枚舉類型,它包含了所有的JDBC數(shù)據(jù)類型,如VARCHAR、INTEGER、DATE等,本文主要介紹了淺談MyBatis所有的jdbcType類型,具有一定的參考價值,感興趣的可以了解一下

MyBatis處理MySQL字段類型date與datetime

1) DATETIME
顯示格式:yyyy-MM-dd HH:mm:ss
時間范圍:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59']

2) DATE
顯示格式:yyyy-MM-dd
時間范圍:['1000-01-01'到'9999-12-31']

3) TIMESTAMP
顯示格式:yyyy-MM-dd HH:mm:ss
時間范圍:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59']

一、 MyBatis處理日期有兩種的jdbcType:

1、jdbcType=DATE

2、jdbcType=TIMESTAMP

二、JAVA中只有一種日期類型 DateTime

當我們使用java.util.Date作為實體的日期類型時(JAVA沒有DateTime這個類,Date類能夠同時表示日期和時間),java.util.Date實際上是能夠表示mysql的三種字段類型:

1、date

2、datetime

3、timestamp

三、MyBatis處理方式

而實際將java.util.Date當做參數(shù)傳遞給Mapper的時候

1、假如我們不指定jdbcType,那么這個日期會自動轉(zhuǎn)化會MySQL的timestamp,例子如下:

2、指定jdbcType=TIMESTAMP結(jié)果同上。

3、指定jdbcType=DATE,那么MyBatis會將傳入?yún)?shù)截取為2018-07-24(Date)

四、總結(jié)

使用java.util.Date作為參數(shù)傳遞給Mapper時,不管MySQL的日期字段類型是date、datetime或者timestamp中的哪一種,MyBatis都能夠自動做出類型轉(zhuǎn)換,可以直接使用 =、>、<、>=、<=符號來進行篩選。 唯一的不同點是指定jdbcType=DATE的時候,MyBatis會自動截取掉時間,如果MySQL的日期字段類型是datetime或者timestamp一定不要這么寫。 總之不手動指定參數(shù)的jdbcType必然沒有問題

MyBatis 常用jdbcType數(shù)據(jù)類型

1 MyBatis 通過包含的jdbcType類型

BIT         FLOAT      CHAR           TIMESTAMP       OTHER       UNDEFINED
TINYINT     REAL       VARCHAR        BINARY          BLOB        NVARCHAR
SMALLINT    DOUBLE     LONGVARCHAR    VARBINARY       CLOB        NCHAR
INTEGER     NUMERIC    DATE           LONGVARBINARY   BOOLEAN     NCLOB
BIGINT      DECIMAL    TIME           NULL            CURSOR

2 Mybatis中javaType和jdbcType對應(yīng)和CRUD例子

<resultMap type="java.util.Map" id="resultjcm">
<result property="FLD_NUMBER" column="FLD_NUMBER"  javaType="double" jdbcType="NUMERIC"/>
<result property="FLD_VARCHAR" column="FLD_VARCHAR" javaType="string" jdbcType="VARCHAR"/>
<result property="FLD_DATE" column="FLD_DATE" javaType="java.sql.Date" jdbcType="DATE"/>
<result property="FLD_INTEGER" column="FLD_INTEGER"  javaType="int" jdbcType="INTEGER"/>
<result property="FLD_DOUBLE" column="FLD_DOUBLE"  javaType="double" jdbcType="DOUBLE"/>
<result property="FLD_LONG" column="FLD_LONG"  javaType="long" jdbcType="INTEGER"/>
<result property="FLD_CHAR" column="FLD_CHAR"  javaType="string" jdbcType="CHAR"/>
<result property="FLD_BLOB" column="FLD_BLOB"  javaType="[B" jdbcType="BLOB" />
<result property="FLD_CLOB" column="FLD_CLOB"  javaType="string" jdbcType="CLOB"/>
<result property="FLD_FLOAT" column="FLD_FLOAT"  javaType="float" jdbcType="FLOAT"/>
<result property="FLD_TIMESTAMP" column="FLD_TIMESTAMP"  javaType="java.sql.Timestamp" jdbcType="TIMESTAMP"/>
</resultMap>

3 Mybatis中javaType和jdbcType對應(yīng)關(guān)系

JDBC Type            Java Type
CHAR                String
VARCHAR                String
LONGVARCHAR            String
NUMERIC                java.math.BigDecimal
DECIMAL                java.math.BigDecimal
BIT                boolean
BOOLEAN                boolean
TINYINT                byte
SMALLINT            short
INTEGER                int
BIGINT                long
REAL                float
FLOAT                double
DOUBLE                double
BINARY                byte[]
VARBINARY            byte[]
LONGVARBINARY                byte[]
DATE                java.sql.Date
TIME                java.sql.Time
TIMESTAMP            java.sql.Timestamp
CLOB                Clob
BLOB                Blob
ARRAY                Array
DISTINCT            mapping of underlying type
STRUCT                Struct
REF                            Ref
DATALINK            java.net.URL[color=red][/color]

4 oracle數(shù)據(jù)類型和對應(yīng)的java類型

用mybatis generator生成代碼后,執(zhí)行查詢語句時,oracle里的Date類型字段只精確到年月日,后面時分秒都為零。 jdbcType=”DATE”時候,存入到數(shù)據(jù)庫中的字段只有年月日! 后來發(fā)現(xiàn)是jdbcType問題,改成 jdbcType=“TIMESTAMP” 就可以。(原先默認生成時是jdbcType=“DATE”)

SQL數(shù)據(jù)類型

JDBC類型代碼

標準的Java類型

Oracle擴展的Java類型

1.0標準的JDBC類型:

CHAR

java.sql.Types.CHAR

java.lang.String

oracle.sql.CHAR

VARCHAR2

java.sql.Types.VARCHAR

java.lang.String

oracle.sql.CHAR

LONG

java.sql.Types.LONGVARCHAR

java.lang.String

oracle.sql.CHAR

NUMBER

java.sql.Types.NUMERIC

java.math.BigDecimal

oracle.sql.NUMBER

NUMBER

java.sql.Types.DECIMAL

java.math.BigDecimal

oracle.sql.NUMBER

NUMBER

java.sql.Types.BIT

boolean

oracle.sql.NUMBER

NUMBER

java.sql.Types.TINYINT

byte

oracle.sql.NUMBER

NUMBER

java.sql.Types.SMALLINT

short

oracle.sql.NUMBER

NUMBER

java.sql.Types.INTEGER

int

oracle.sql.NUMBER

NUMBER

java.sql.Types.BIGINT

long

oracle.sql.NUMBER

NUMBER

java.sql.Types.REAL

float

oracle.sql.NUMBER

NUMBER

java.sql.Types.FLOAT

double

oracle.sql.NUMBER

NUMBER

java.sql.Types.DOUBLE

double

oracle.sql.NUMBER

RAW

java.sql.Types.BINARY

byte[]

oracle.sql.RAW

RAW

java.sql.Types.VARBINARY

byte[]

oracle.sql.RAW

LONGRAW

java.sql.Types.LONGVARBINARY

byte[]

oracle.sql.RAW

DATE

java.sql.Types.DATE

java.sql.Date

oracle.sql.DATE

DATE

java.sql.Types.TIME

java.sql.Time

oracle.sql.DATE

TIMESTAMP

java.sql.Types.TIMESTAMP

javal.sql.Timestamp

oracle.sql.TIMESTAMP

2.0標準的JDBC類型:

BLOB

java.sql.Types.BLOB

java.sql.Blob

oracle.sql.BLOB

CLOB

java.sql.Types.CLOB

java.sql.Clob

oracle.sql.CLOB

用戶定義的對象

java.sql.Types.STRUCT

java.sql.Struct

oracle.sql.STRUCT

用戶定義的參考

java.sql.Types.REF

java.sql.Ref

oracle.sql.REF

用戶定義的集合

java.sql.Types.ARRAY

java.sql.Array

oracle.sql.ARRAY

Oracle擴展:

BFILE

oracle.jdbc.OracleTypes.BFILE

N/A

oracle.sql.BFILE

ROWID

oracle.jdbc.OracleTypes.ROWID

N/A

oracle.sql.ROWID

REF CURSOR

oracle.jdbc.OracleTypes.CURSOR

java.sql.ResultSet

oracle.jdbc.OracleResultSet

TIMESTAMP

oracle.jdbc.OracleTypes.TIMESTAMP

java.sql.Timestamp

oracle.sql.TIMESTAMP

TIMESTAMP WITH TIME ZONE

oracle.jdbc.OracleTypes.TIMESTAMPTZ

java.sql.Timestamp

oracle.sql.TIMESTAMPTZ

TIMESTAMP WITH LOCAL TIME ZONE

oracle.jdbc.OracleTypes.TIMESTAMPLTZ

java.sql.Timestamp

oracle.sql.TIMESTAMPLTZ

到此這篇關(guān)于淺談MyBatis所有的jdbcType類型的文章就介紹到這了,更多相關(guān)MyBatis jdbcType類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用lombok注解導(dǎo)致mybatis-plus TypeHandler失效的解決

    使用lombok注解導(dǎo)致mybatis-plus TypeHandler失效的解決

    這篇文章主要介紹了使用lombok注解導(dǎo)致mybatis-plus TypeHandler失效的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • SpringBoot應(yīng)用自定義logback日志詳解

    SpringBoot應(yīng)用自定義logback日志詳解

    默認情況下,SpringBoot內(nèi)部使用logback作為系統(tǒng)日志實現(xiàn)的框架,將日志輸出到控制臺,不會寫到日志文件。本篇文章主要講解下如何自定義logabck.xml以及對logback文件中配置做一個詳解,需要的可以參考一下
    2022-10-10
  • 利用Jackson實現(xiàn)數(shù)據(jù)脫敏的示例詳解

    利用Jackson實現(xiàn)數(shù)據(jù)脫敏的示例詳解

    在我們的企業(yè)項目中,為了保護用戶隱私,數(shù)據(jù)脫敏成了必不可少的操作,那么我們怎么優(yōu)雅的利用Jackson實現(xiàn)數(shù)據(jù)脫敏呢,本文就來和大家詳細聊聊,希望對大家有所幫助
    2023-05-05
  • 10道springboot常見面試題

    10道springboot常見面試題

    這篇文章主要為大家詳細介紹了10道springboot常見面試題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 一小時迅速入門Mybatis之Prepared Statement與符號的使用

    一小時迅速入門Mybatis之Prepared Statement與符號的使用

    這篇文章主要介紹了一小時迅速入門Mybatis之Prepared Statement與符號的使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 詳解SpringMVC中的日期處理和文件上傳操作

    詳解SpringMVC中的日期處理和文件上傳操作

    這篇文章主要為大家詳細介紹了SpringMVC中的日期處理和文件上傳操作方法,文中的示例代碼講解詳細,對我們學習有一定借鑒價值,需要的可以參考一下
    2022-08-08
  • Java設(shè)計模式之代理模式(Proxy模式)介紹

    Java設(shè)計模式之代理模式(Proxy模式)介紹

    這篇文章主要介紹了Java設(shè)計模式之代理模式(Proxy模式)介紹,本文講解了為什么要使用代理模式、如何使用代理模式等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • 在Spring異步調(diào)用中傳遞上下文的方法

    在Spring異步調(diào)用中傳遞上下文的方法

    這篇文章主要給大家介紹了關(guān)于如何在Spring異步調(diào)用中傳遞上下文的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • IDEA的基本使用(讓你的IDEA有飛一般的感覺)

    IDEA的基本使用(讓你的IDEA有飛一般的感覺)

    這篇文章主要介紹了IDEA的基本使用(讓你的IDEA有飛一般的感覺),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Spring Batch批處理框架使用解析

    Spring Batch批處理框架使用解析

    這篇文章主要介紹了Spring Batch批處理框架使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12

最新評論

富宁县| 永靖县| 剑阁县| 九龙县| 灌云县| 曲沃县| 德阳市| 离岛区| 年辖:市辖区| 尖扎县| 大新县| 平利县| 舒城县| 印江| 武陟县| 衡山县| 汕头市| 太白县| 南华县| 镇远县| 阜宁县| 吉林市| 苏尼特左旗| 井冈山市| 贺兰县| 重庆市| 雅江县| 名山县| 博罗县| 济南市| 涿鹿县| 灵宝市| 抚远县| 尚义县| 北海市| 泰安市| 彰化市| 赫章县| 东乡县| 葫芦岛市| 银川市|