精华内容
下载资源
问答
  • jdbcType

    2020-12-25 15:03:50
    1、 #{bookId} 2、 #{bookId,jdbcType=INTEGER} 一般情况下,两种写法都可以。它们都可以获取Dao层传递过来的参数。 但是,当传入的参数为null时,需要指定jdbcType的类型,否则mybatis无法解析。

    1、 #{bookId}
    2、 #{bookId,jdbcType=INTEGER}
    一般情况下,两种写法都可以。它们都可以获取Dao层传递过来的参数。
    但是,当传入的参数为null时,需要指定jdbcType的类型,否则mybatis无法解析。

    展开全文
  • JdbcType

    千次阅读 2019-09-03 10:47:19
    JdbcType介绍 数据库列字段都是有类型的,不同的数据库有不同的类型。为了表示这些数据类型,Java源码是采用枚举来定义的: public enum JDBCType implements SQLType { TINYINT(Types.TINYINT), SMALLINT...

    JdbcType介绍

    数据库列字段都是有类型的,不同的数据库有不同的类型。为了表示这些数据类型,Java源码是采用枚举来定义的:

    public enum JDBCType implements SQLType {
        TINYINT(Types.TINYINT),
        SMALLINT(Types.SMALLINT),
        INTEGER(Types.INTEGER)
    }

    枚举变量也是有类型的,也是有值的,正如整数变量是整数类型,也有值大小一样,上述枚举变量值的定义是通过Types来描述刻画的。

    public class Types {
         public final static int TINYINT         =  -6;
         public final static int SMALLINT        =   5;
         public final static int INTEGER         =   4;  
    }

    MyBatis包含的JdbcType类型,主要有下面这些,大致了解一下即可:

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

    上述JdbcType类型和Java类型的对应关系,可以参照下面的列表,不过不同数据库的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             INTEGER  
    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

    JdbcType类型的作用

    在Mybatis明文建议在映射字段数据时需要将JdbcType属性加上,这样相对来说是比较安全的。

    <insert id="saveRole">
        insert into role values (
            #{roleId},
            #{name},
            #{remarks},
            #{orderNo},
            #{createBy,jdbcType=VARCHAR},
            #{createDept,jdbcType=VARCHAR},
            #{createTime,jdbcType=DATE},
            #{updateBy,jdbcType=VARCHAR},
            #{updateTime,jdbcType=DATE}
        )
    </insert>

    这样,保证了前四种是不能为空的前提下,而后面几项为空时也不至于程序报错。如果createBy为空,插入的时候mybatis不知道具体转换成什么jdbcType类型,通常会使用一个默认设置,虽然默认配置一般情况下不会出错,但是遇到个别情况还是会有问题的。Mybatis经常出现的:无效的列类型: 1111 错误,就是因为没有设置JdbcType造成的。

     

     

    MybatisjdbcType和javaType的对应关系

    复制代码

    复制代码

     1 JDBC Type           Java Type  
     2 CHAR                String  
     3 VARCHAR             String  
     4 LONGVARCHAR         String  
     5 NUMERIC             java.math.BigDecimal  
     6 DECIMAL             java.math.BigDecimal  
     7 BIT                 boolean  
     8 BOOLEAN             boolean  
     9 TINYINT             byte  
    10 SMALLINT            short  
    11 INTEGER             int  
    12 BIGINT              long  
    13 REAL                float  
    14 FLOAT               double  
    15 DOUBLE              double  
    16 BINARY              byte[]  
    17 VARBINARY           byte[]  
    18 LONGVARBINARY               byte[]  
    19 DATE                java.sql.Date  
    20 TIME                java.sql.Time  
    21 TIMESTAMP           java.sql.Timestamp  
    22 CLOB                Clob  
    23 BLOB                Blob  
    24 ARRAY               Array  
    25 DISTINCT            mapping of underlying type  
    26 STRUCT              Struct  
    27 REF                         Ref  
    28 DATALINK            java.net.URL[color=red][/color]  

    复制代码

    复制代码

    Mybatis JdbcType与Oracle、MySql数据类型对应列表

    复制代码

    复制代码

    Mybatis    JdbcType    Oracle    MySql
    JdbcType    ARRAY        
    JdbcType    BIGINT               BIGINT
    JdbcType    BINARY        
    JdbcType    BIT        BIT
    JdbcType    BLOB       BLOB      BLOB
    JdbcType    BOOLEAN        
    JdbcType    CHAR       CHAR      CHAR
    JdbcType    CLOB       CLOB      CLOB
    JdbcType    CURSOR        
    JdbcType    DATE       DATE      DATE
    JdbcType    DECIMAL    DECIMAL   DECIMAL
    JdbcType    DOUBLE     NUMBER    DOUBLE
    JdbcType    FLOAT      FLOAT     FLOAT
    JdbcType    INTEGER    INTEGER   INTEGER
    JdbcType    LONGVARBINARY        
    JdbcType    LONGVARCHAR  LONG    VARCHAR    
    JdbcType    NCHAR      NCHAR    
    JdbcType    NCLOB      NCLOB    
    JdbcType    NULL        
    JdbcType    NUMERIC   NUMERIC/NUMBER  NUMERIC/
    JdbcType    NVARCHAR        
    JdbcType    OTHER        
    JdbcType    REAL       REAL       REAL
    JdbcType    SMALLINT   SMALLINT   SMALLINT
    JdbcType    STRUCT        
    JdbcType    TIME       TIME
    JdbcType    TIMESTAMP  TIMESTAMP  TIMESTAMP/DATETIME
    JdbcType    TINYINT    TINYINT
    JdbcType    UNDEFINED        
    JdbcType    VARBINARY        
    JdbcType    VARCHAR    VARCHAR    VARCHAR
    展开全文
  • mybtis jdbctype

    千次阅读 2018-11-29 10:52:20
    1.在mapper.xml 中使用 #{参数,jdbctype = VARCHAR} 2.在javadao层中使用 传入map的方式 3.mybatis中就可以应用字段了 mybatis jdbctype 写法daomapper.xml例子: &lt;?xml version="1.0" ...

    思路:

    1.在mapper.xml 中使用 #{参数,jdbctype = VARCHAR}

    2.在javadao层中使用 传入map的方式

    3.mybatis中就可以应用字段了


    mybatis jdbctype  写法 daomapper.xml例子:

    
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.user.dao.userDao">
    
        <!-- 添加用户 -->
       <insert id="adduser">
            insert into user values (
                #{name,jdbcType=VARCHAR},
                #{password,jdbcType=VARCHAR},
                #{time,jdbcType=TIME},
                #{age,jdbcType=INTEGER} 
            )
        </insert>
    
    </mapper>

     

    java dao 示例:

    package com.user.dao;
    
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import org.apache.ibatis.annotations.Mapper;
    import org.apache.ibatis.annotations.Param;
    
    @Mapper
    public interface userDao {
    	
    	 /**
    	  * 添加用户
    	  * @param map
    	  * @return
    	  */
    	 int adduser(HashMap<String,Object> map);
    
    }

     

    mybtis jdbctype 对应java 的字段:

    JDBCType            JavaType
        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]

     

     

     

    展开全文
  • MyBatis通过包含的jdbcType类型BITFLOATCHARTIMESTAMPOTHERUNDEFINEDTINYINTREALVARCHARBINARYBLOBNVARCHARSMALLINTDOUBLELONGV...

    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

    Mybatis中javaType和jdbcType对应和CRUD例子

    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]

    展开全文
  • MyBatis JdbcType

    2018-11-21 11:14:05
    在Mybatis明文建议在映射字段数据时需要将JdbcType属性加上,这样相对来说是比较安全的。 &lt;insert id="saveRole"&gt; insert into role values ( #{roleId}, #{name}, #{remarks}, #{...
  • MyBatis - jdbcType

    2021-03-10 11:09:39
    转载:mybatis常用jdbcType数据类型
  • **JDBCType JavaType**CHAR StringVARCHAR StringLONGVARCHAR StringNUMERIC java.math.BigDecimalDECIMAL java.math.BigDecimalBIT b...
  • MyBatis 的JdbcType 介绍

    2020-08-25 11:49:31
    JdbcType和Oracle以及MySQL,相互之间的映射关系 JdbcType Oracle MySql JdbcType ARRAY JdbcType BIGINT BIGINT JdbcType BINARY JdbcType BIT BIT ...
  • 关于Mybatis中jdbcType

    2020-10-24 14:15:11
    jdbcType简介: 1.自动补全一些参数类型 Mybatis中 jdbcType 时间类型 当jdbcType = DATE 时, 只传入了 年月日 jdbcType = TIMESTAMP , 年月日+ 时分秒 2. jdbcType 是否必须: 使用时, 没有加jdbcType 正常,...
  • MyBatis指定JdbcType

    千次阅读 2015-01-08 18:26:50
    MyBatis 插入空值时,需要指定JdbcType  mybatis insert空值报空值异常,但是在pl/sql不会提示错误,主要原因是mybatis无法进行转换 所以在MyBatis映射文件中要添加JdbcType ,如:state = #{state,jdbcType=...
  • 主要介绍了MyBatis常用的jdbcType数据类型的相关资料,需要的朋友可以参考下
  • Mybatis之jdbcType

    2019-12-24 10:29:03
    在mapper.xml中,写java类映射数据库表字段的时候,有jdbcType,之前并没有很注意,发现有些人习惯在写mybatis写sql的时候,映射关联参数时喜欢加上jdbcType=xxx <insert id="insert" parameterType="java.xx.xx...
  • 关于jdbcType=”DATE” 和 jdbcType=”TIMESTAMP”区别使用 和 jdbcType=”DATE” 都忽略了 时分秒, 无论是否有时分秒,都设置为了 00:00:00; jdbcType=”TIMESTAMP” 则 年月日时分秒全部设置,没有忽略。
  • MyBatis配置Mapping,JavaType和JDBCType的对应关系boolcnblogsealrealjava.netnumericcodedoublemybaMybatis中javaType和jdbcType对应关系:JDBC TypeJava TypeCHARStringVARCHARStringLONGVARCHARStringN...
  • Mybatis Parameters jdbcType

    2016-09-19 13:32:37
    Mybatis Parameters jdbcType
  • jdbctype和javatype

    2019-09-10 16:15:06
    (一).Mybatis JdbcType与Oracle、MySql数据类型对应列表 (二).sql server 对应的
  • JdbcType类型对照

    2020-07-22 12:16:12
    JdbcType VARCHAR2() String(java.lang) VARCHAR NVARCHAR2 String (java.lang) VARCHAR INTEGER Integer(java.lang) INTEGER NUMBER(,) BigDecimal(java.math) NUMERIC CLOB String (java....
  • 当传入null值时,jdbcType会防止null空指针异常报错 Mybatis 中jdbcType="DATE" ,日期精确到年月日 剩余分秒 填0补齐 jdbcType=" TIMESTAMP",日期精确到分秒 转载于:https://www.cnblogs.com/xinruyi...
  • jdbcType="DATE"类型时,返回的时间只有年月日(yyyy-MM-dd)(只有日期, 没有时间) 当jdbcType=“TIMESTAMP”的时候,返回的时间是年月日和时分秒(yyyy-MM-dd HH:mm:ss) 说道日期,在java 项目中 new Date() ...
  • ibatis jdbcType 用法

    千次阅读 2017-08-16 17:16:10
    今天看了点ibatis的jdbcType的使用,虽然以前看见文档上有这么个东西,但是还真没用过。   这里面说到了jdbcType的使用场合,只有当在insert,update和delete中有空字段时,需要使用jdbcType。  什么意思...
  • mybatis常用jdbcType数据类型.txt mybatis常用jdbcType数据类型.txt
  • javaType和jdbcType

    2017-06-03 10:19:22
    mybatis惯用jdbcType数据类型 2015-03-12 14:58 | 341386人阅读 | 来源 mybatis常用jdbcType数据类型    MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINED ...
  • 也算不上是Mybatis的bug,只能说是特性,本来就是这么设置的,在连接oracle数据库的时候,当jdbcType="DATE"类型时,返回的时间只有年月日(yyyy-MM-dd)的,当jdbcType=“TIMESTAMP”的时候,返回的时间是年月日和...
  • mybatis指定jdbctype

    2016-12-12 11:20:00
    MyBatis 插入空值时,需要指定JdbcType  mybatis insert空值报空值异常,但是在pl/sql不会提示错误,主要原因是mybatis无法进行转换 所以在MyBatis映射文件中要添加JdbcType ,如:state = #{state,jdbcType=...
  • Mybatis JdbcType与Oracle、MySql数据类型对应列表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,653
精华内容 1,461
关键字:

jdbctype