MyBatis 所有的 jdbcType类型

article/2025/10/8 2:06:23

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当做参数传递给Mapper的时候
1、假如我们不指定jdbcType,那么这个日期会自动转化会MySQL的timestamp,例子如下:
2、指定jdbcType=TIMESTAMP结果同上。
3、指定jdbcType=DATE,那么MyBatis会将传入参数截取为2018-07-24(Date)

在这里插入图片描述

四、总结

使用java.util.Date作为参数传递给Mapper时,不管MySQL的日期字段类型是date、datetime或者timestamp中的哪一种,MyBatis都能够自动做出类型转换,可以直接使用 =、>、<、>=、<=符号来进行筛选。
唯一的不同点是指定jdbcType=DATE的时候,MyBatis会自动截取掉时间,如果MySQL的日期字段类型是datetime或者timestamp一定不要这么写。
总之不手动指定参数的jdbcType必然没有问题

MyBatis 常用jdbcType数据类型

1 MyBatis 通过包含的jdbcType类型

BIT         FLOAT      CHAR           TIMESTAMP       OTHER       UNDEFINEDTINYINT     REAL       VARCHAR        BINARY          BLOB        NVARCHARSMALLINT    DOUBLE     LONGVARCHAR    VARBINARY       CLOB        NCHARINTEGER     NUMERIC    DATE           LONGVARBINARY   BOOLEAN     NCLOBBIGINT      DECIMAL    TIME           NULL            CURSOR

2 Mybatis中javaType和jdbcType对应和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对应关系

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数据类型和对应的java类型

用mybatis generator生成代码后,执行查询语句时,oracle里的Date类型字段只精确到年月日,后面时分秒都为零。
jdbcType="DATE"时候,存入到数据库中的字段只有年月日!
后来发现是jdbcType问题,改成 jdbcType=“TIMESTAMP” 就可以。(原先默认生成时是jdbcType=“DATE”)

SQL数据类型JDBC类型代码标准的Java类型Oracle扩展的Java类型
-1.0标准的JDBC类型:--
CHARjava.sql.Types.CHARjava.lang.Stringoracle.sql.CHAR
VARCHAR2java.sql.Types.VARCHARjava.lang.Stringoracle.sql.CHAR
LONGjava.sql.Types.LONGVARCHARjava.lang.Stringoracle.sql.CHAR
NUMBERjava.sql.Types.NUMERICjava.math.BigDecimaloracle.sql.NUMBER
NUMBERjava.sql.Types.DECIMALjava.math.BigDecimaloracle.sql.NUMBER
NUMBERjava.sql.Types.BITbooleanoracle.sql.NUMBER
NUMBERjava.sql.Types.TINYINTbyteoracle.sql.NUMBER
NUMBERjava.sql.Types.SMALLINTshortoracle.sql.NUMBER
NUMBERjava.sql.Types.INTEGERintoracle.sql.NUMBER
NUMBERjava.sql.Types.BIGINTlongoracle.sql.NUMBER
NUMBERjava.sql.Types.REALfloatoracle.sql.NUMBER
NUMBERjava.sql.Types.FLOATdoubleoracle.sql.NUMBER
NUMBERjava.sql.Types.DOUBLEdoubleoracle.sql.NUMBER
RAWjava.sql.Types.BINARYbyte[]oracle.sql.RAW
RAWjava.sql.Types.VARBINARYbyte[]oracle.sql.RAW
LONGRAWjava.sql.Types.LONGVARBINARYbyte[]oracle.sql.RAW
DATEjava.sql.Types.DATEjava.sql.Dateoracle.sql.DATE
DATEjava.sql.Types.TIMEjava.sql.Timeoracle.sql.DATE
TIMESTAMPjava.sql.Types.TIMESTAMPjaval.sql.Timestamporacle.sql.TIMESTAMP
-2.0标准的JDBC类型:-
BLOBjava.sql.Types.BLOBjava.sql.Bloboracle.sql.BLOB
CLOBjava.sql.Types.CLOBjava.sql.Cloboracle.sql.CLOB
用户定义的对象java.sql.Types.STRUCTjava.sql.Structoracle.sql.STRUCT
用户定义的参考java.sql.Types.REFjava.sql.Reforacle.sql.REF
用户定义的集合java.sql.Types.ARRAYjava.sql.Arrayoracle.sql.ARRAY
-Oracle扩展:--
BFILEoracle.jdbc.OracleTypes.BFILEN/Aoracle.sql.BFILE
ROWIDoracle.jdbc.OracleTypes.ROWIDN/Aoracle.sql.ROWID
REF CURSORoracle.jdbc.OracleTypes.CURSORjava.sql.ResultSetoracle.jdbc.OracleResultSet
TIMESTAMPoracle.jdbc.OracleTypes.TIMESTAMPjava.sql.Timestamporacle.sql.TIMESTAMP
TIMESTAMP WITH TIME ZONEoracle.jdbc.OracleTypes.TIMESTAMPTZjava.sql.Timestamporacle.sql.TIMESTAMPTZ
TIMESTAMP WITH LOCAL TIME ZONEoracle.jdbc.OracleTypes.TIMESTAMPLTZjava.sql.Timestamporacle.sql.TIMESTAMPLTZ

http://chatgpt.dhexx.cn/article/ESUj6C1t.shtml

相关文章

(转)mybatis常用jdbcType数据类型

阅读目录 1 MyBatis 通过包含的jdbcType类型2 Mybatis中javaType和jdbcType对应和CRUD例子3 Mybatis中javaType和jdbcType对应关系 4 oracle数据类型和对应的java类型 回到顶部 1 MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR TIMESTAMP O…

Harris Corner 角点检测

角点是同时在多个方向上变化的点&#xff0c;相对于边缘&#xff0c;更加具有独特性。角点检测普遍应用在很多场合&#xff0c;如指纹检测中的指纹特征提取&#xff0c;稀疏光流计算。 Harris corner角点的基本思想是通过一个小窗口来观察&#xff0c;因此很容易识别出角点来。…

Harris角点检测算法的实现(详细版)

前言 无 一、角点是神马&#xff1f; 角点被定义为图像边缘曲线上曲率极大值的点或图像亮度变化剧烈的点 &#xff0c;这些点既保留了图像的重要特征&#xff0c;又有效地减少了信息的数据量。 二、Harris角点检测算法原理 Harris算法以 Morave算法为基础&#xff0c;如果…

harris角点检测算法实现

算法流程&#xff1a; 1、将图像转换为灰度图像&#xff1b; 2、利用Sobel滤波器求出 海森矩阵 (Hessian matrix) : 3、将高斯滤波器分别作用于Ix、Iy、IxIy&#xff1b; 4、计算每个像素的 R det(H) - k(trace(H))。det(H)表示矩阵H的行列式&#xff0c;trace表示矩阵H的迹。通…

Python计算机视觉——Harris角点检测

Python计算机视觉——Harris角点检测 文章目录 Python计算机视觉——Harris角点检测写在前面1 Harris角点检测基本思想2 Harris角点检测公式推导3 实验分析 写在前面 在传统目标识别中&#xff0c;特征提取是最终目标识别效果好坏的一个重要决定因素&#xff0c;因此&#xff…

Harris角点检测原理-

本文是本人看bilibili教学结合官方文档的观后笔记&#xff0c;链接在下&#xff1a; &#xff08;全&#xff09;基于python的Opencv项目实战_哔哩哔哩_bilibili 如果有什么理解不到位的地方&#xff0c;欢迎指正。 理论&#xff1a; 先放角点定义&#xff08;百度百科&…

计算机视觉(二)HARRIS角点检测算法与SIFT

文章目录 前言一、HARRIS角点检测算法1.什么是角点&#xff08;corner points&#xff09;2.角点检测算法的基本思想3.什么是好的角点检测算法4.角点特征的数学刻画5.度量角点响应6.HARRIS角点检测器的响应函数7.HARRIS角点检测算法的优点8.HARRIS角点检测算法的缺点9.HARRIS角…

【特征检测】Harris角点检测中的数学推导

简介 本文主要是对Harris角点检测的数学公式进行推导&#xff0c;更加深入的掌握原理性的理论知识。 预备知识 椭圆的矩阵方程表示 在高中课本中&#xff0c;我们学习到标准椭圆及其方程&#xff08;如下图所示&#xff09;&#xff1a; 其实&#xff0c;矩阵在运算中使用非…

Matlab实现Harris角点检测

一、代码 close all; clc; % 读取图像信息&#xff08;原图为灰度图&#xff09; img imread(lena.bmp); [m,n] size(img); % 先在原图外围扩展一圈 tmp zeros(m2,n2); tmp(2:m1,2:n1) img; % 初始化各一阶偏导矩阵 Ix zeros(m2,n2); Iy zeros(m2,n2); E zeros(m2,n2);…

角点检测和匹配之Harris与FAST角点检测

这一章主要内容&#xff1a; 1. Harris角点检测 2. FAST特征检测 3. 尺度不变的SURF特征检测 4.SURF检测描述 一、引言 在计算机视觉中&#xff0c;特征点或称兴趣点&#xff0c;角点(即图像的极值点&#xff0c;线段的终点&#xff0c;曲线曲率最大的点或水平、竖直方向上属性…

Matlab实现Harris角点检测算法

角点 一般的角点检测都是对有具体定义的、或者是能够具体检测出来的兴趣点的检测。这意味着兴趣点可以是角点&#xff0c;也可以是在某些属性上强度最大或者最小的孤立点、线段的终点&#xff0c;或者是曲线上局部曲率最大的点。在实践中&#xff0c;通常大部分称为角点检测的…

Harris 角点检测原理及实现

1. 图像中角点定义 沿各个方向&#xff0c;图像灰度均发生变化&#xff1b; 2.Harris原理 Harris中也是根据角点定义经角点定义&#xff0c;Harris中使用该像素点周围像素块和其周围的其它像素块的相关性刻画角点&#xff0c;相关性用平方差之和进行计算(SSD)&#xff0c;SS…

基于Python手动实现Harris角点检测

最近在上数字图像处理课程&#xff0c;需要使用Python手动编写Harris角点检测算法&#xff0c;但是网上几乎没有找到手动编写的&#xff0c;只能手敲。 同时作为自己的第一篇博客&#xff0c;在这里记录一下。 一、Harris角点检测 原理&#xff08;略&#xff09; 可以参考博…

【OpenCV入门教程之十六】OpenCV角点检测之Harris角点检测

本系列文章由浅墨_毛星云 出品&#xff0c;转载请注明出处。 文章链接&#xff1a; http://blog.csdn.net/poem_qianmo/article/details/29356187 作者&#xff1a;毛星云&#xff08;浅墨&#xff09; 微博&#xff1a;http://weibo.com/u/1723155442 知乎&#xff1a;ht…

Harris 角点检测(Harris Corner Detection)(OpenCV实现)

匹配问题 Harris角点检测是Chris Harris和Mike Stephens在1988年提出的。主要用于运动图像的追踪。当时的普遍想法是利用边缘进行追踪&#xff0c;但是当相机或物体运动时你不知道朝哪个方向&#xff0c;相机的几何变换也是未知的&#xff0c;所以边缘匹配很难达到预期的效果。…

图像处理(九)——Harris角点检测

实现Harris角点检测算法&#xff0c;并与OpenCV的cornerHarris函数的结果进行比较。 特征点在图像中一般有具体的坐标&#xff0c;并具有某些数学特征&#xff0c;如局部最大或最小灰度、以及某些梯度特征等。角点可以简单的认为是两条边的交点。如下图所示&#xff1a; 在各个…

Harris角点检测 及 Matlab实验

目录 1 基础知识 1.1 图像变化的类型 1.2 提取点特征的作用 1.3 什么是好的角点检测算法&#xff1f; 2 Harris 角点检测 2.1 Harris角点检测基本思想 2.2 Harris角点检测&#xff1a;数学描述 3 总结 4 Matlab 实验 参考资料 角点是图像重要的特征&#xff0c;对图像…

Harris的角点检测和特征匹配

一.特征检测&#xff08;提取&#xff09; 基于特征的图像配准方法是图像配准中最常见的方法之一。它不是直接利用图像像素值&#xff0c;二十通过像素值导出的符号特征&#xff08;如特征点、特征线、特征区域&#xff09;来实现图像配准&#xff0c;因此可以克服利用灰度信息…

Harris角点及Shi-Tomasi角点检测

一、角点定义 有定义角点的几段话&#xff1a; 1、角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法&#xff0c;广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域中。也称为特征点检测。 角点通常被定义为两条边的交点&#xff0…

Harris角点检测算法详解

Harris角点算法 特征点检测广泛应用到目标匹配、目标跟踪、三维重建等应用中&#xff0c;在进行目标建模时会对图像进行目标特征的提取&#xff0c;常用的有颜色、角点、特征点、轮廓、纹理等特征。现在开始讲解常用的特征点检测&#xff0c;其中Harris角点检测是特征点检测的基…