zoukankan      html  css  js  c++  java
  • MyBatis配置Mapping,JavaType和JDBCType的对应关系,#与$区别

    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]

    样例:

     1 <resultMap type="java.util.Map" id="resultData">  
     2   <result property="FLD_NUMBER" column="FLD_NUMBER"  javaType="double" jdbcType="NUMERIC"/>  
     3   <result property="FLD_VARCHAR" column="FLD_VARCHAR" javaType="string" jdbcType="VARCHAR"/>  
     4   <result property="FLD_DATE" column="FLD_DATE" javaType="java.sql.Date" jdbcType="DATE"/>  
     5   <result property="FLD_INTEGER" column="FLD_INTEGER"  javaType="int" jdbcType="INTEGER"/>  
     6   <result property="FLD_DOUBLE" column="FLD_DOUBLE"  javaType="double" jdbcType="DOUBLE"/>  
     7   <result property="FLD_LONG" column="FLD_LONG"  javaType="long" jdbcType="INTEGER"/>  
     8   <result property="FLD_CHAR" column="FLD_CHAR"  javaType="string" jdbcType="CHAR"/>  
     9   <result property="FLD_BLOB" column="FLD_BLOB"  javaType="Blob" jdbcType="BLOB" />  
    10   <result property="FLD_CLOB" column="FLD_CLOB"  javaType="string" jdbcType="CLOB"/>  
    11   <result property="FLD_FLOAT" column="FLD_FLOAT"  javaType="float" jdbcType="FLOAT"/>  
    12   <result property="FLD_TIMESTAMP" column="FLD_TIMESTAMP"  javaType="java.sql.Timestamp" jdbcType="TIMESTAMP"/>  
    13  </resultMap> 

     MyBatis 占位符#和 $ 的区别如下:

      #符号将传入的数据都当做一个字符串,会对自动传入的数据加一个双引号;

      $ 符号将传入的数据直接显示生成 SQL 中;

      #符号存在预编译的过程对问号赋值,防止 SQL 注入

      $ 符号是直译的方式,一般用在 order by ${列名}语句中;

      能用#号就不要用 $ 符号,$符号主要用于order by

  • 相关阅读:
    linux 下载openssl 亲测有效
    在linux文件中 怎么查看文件的行数
    linux 安装mysql 数据库
    bccomp
    javascript之date
    javascript之函数
    JavaScript数据类型之数组
    BOM
    canvas
    javascript数据类型之对象
  • 原文地址:https://www.cnblogs.com/zengming/p/7769219.html
Copyright © 2011-2022 走看看